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 🙂