gpt4 book ai didi

django - 如何使用DjangoRestFramework序列化为多个模型

转载 作者:行者123 更新时间:2023-12-04 13:14:00 27 4
gpt4 key购买 nike

我已经定义了一个用户个人资料模型,但希望拥有一个将所有用户数据保存到两个模型中的api端点。我的意思是,我正在使用用户模型,并且具有如下定义的用户配置文件模型

class UserProfile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL)
biography = models.TextField()

当我定义用于创建新用户的序列化程序时,如何获取将数据序列化为用户模型和userProfile模型的序列化程序?

最佳答案

您只需为每个定义一个序列化器,并将一个附加到另一个,如下所示:

from rest_framework.serializers import ModelSerializer

class UserSerializer(ModelSerializer):
"""
A serializer for ``User``.
"""
class Meta(object):
model = User


class UserProfileSerializer(ModelSerializer):
"""
A serializer for ``UserProfile``.
"""
user = UserSerializer()

class Meta(object):
model = UserProfile

然后,您可以使用 UserProfileSerializer更新(或执行其他操作)用户配置文件及其用户实例。

关于django - 如何使用DjangoRestFramework序列化为多个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16429160/

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