gpt4 book ai didi

python - Django Rest Framework - 在序列化程序中获取相关模型字段

转载 作者:IT老高 更新时间:2023-10-28 21:31:55 26 4
gpt4 key购买 nike

我正在尝试从 Django Rest 框架返回一个 HttpResponse,包括来自 2 个链接模型的数据。这些模型是:

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')

我想要一个包含来自相关 Wine 的信息的 Bottle 模型的序列化程序。

我试过了:

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 的帮助 :)

关于python - Django Rest Framework - 在序列化程序中获取相关模型字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20633313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com