Django Rest框架 – 在序列化器中获取相关的模型字段
我试图从Django Rest Framework返回一个HttpResponse,包括来自两个链接模型的数据。 这些模型是:
class Wine(models.Model): color = models.CharField(max_length=100, blank=True) country = models.CharField(max_length=100, blank=True) region = models.CharField(max_length=100, blank=True) appellation = models.CharField(max_length=100, blank=True) class Bottle(models.Model): wine = models.ForeignKey(Wine, null=False) user = models.ForeignKey(User, null=False, related_name='bottles')
我想有一个Bottle模型的序列化器,其中包含来自相关Wine的信息。
我试过了:
class BottleSerializer(serializers.HyperlinkedModelSerializer): wine = serializers.RelatedField(source='wine') class Meta: model = Bottle fields = ('url', 'wine.color', 'wine.country', 'user', 'date_rated', 'rating', 'comment', 'get_more')
这不起作用。
任何想法,我可以做到这一点?
谢谢 :)
就这么简单,添加WineSerializer作为一个领域解决了它。
class BottleSerializer(serializers.HyperlinkedModelSerializer): wine = WineSerializer(source='wine') class Meta: model = Bottle fields = ('url', 'wine', 'user', 'date_rated', 'rating', 'comment', 'get_more')
有:
class WineSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = Wine fields = ('id', 'url', 'color', 'country', 'region', 'appellation')
感谢您的帮助@mariodev 🙂