gpt4 book ai didi

django - 使用 django-rest-framework 序列化程序检索具有许多模型值

转载 作者:行者123 更新时间:2023-12-04 10:29:17 26 4
gpt4 key购买 nike

class User(models.Model):
name = models.CharField(max_length=100)

def __str__(self):
return self.name


class Address(models.Model):
name = models.CharField(max_length=100)
user = models.ForeignKey(User, related_name='address')

def __str__(self):
return self.name

如何使用 drf 序列化程序检索特定用户的地址?

最佳答案

步骤 1:为用户模型和地址模型编写序列化程序。
序列化程序.py

UserSerializer(serializers.ModelSerializer):
"""A serializer for User Model"""
address = AddressSerializer(read_only=True, many=True)

class Meta:
model = User
fields = "__all__"
extra_fields = ["address"]

AddressSerializer(serializers.ModelSerializer):
"""A serializer for Address Model"""

class Meta:
model = Adddress
fields = "__all__"

第 2 步:为您的用户模型编写查询以序列化您的数据。

View .py:
 queryset = User.objects.all().prefetch_related("address")
serializer = UserSerializer(data=queryset)
print(serializer.data) # you will get all your user with their addresses.

关于django - 使用 django-rest-framework 序列化程序检索具有许多模型值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60483075/

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