继续this问题,您能否举一个有效输入json的示例来同时创建一个新的User和UserProfile?
虽然这可以在用户端点
上成功创建新用户{
"username": "newuser",
"password": "abc"
}
但是 UserProfile 端点 :
{
"user":{
"username": "newuser2",
"password": "abc"
}
"biography": "1",
}
返回:
{
"user": [
"This field cannot be null."
]
}
答案 0 :(得分:0)
您正在寻找的是对soon be supported的嵌套资源的读取+ 写支持,但尚未发布。
但是,如果使用HyperlinkedRelatedField
将用户配置文件模型链接到用户模型,则可以先创建用户,然后使用创建的用户URI作为用户参数创建用户配置文件。假设您有以下用户配置文件模型和序列化程序::
# Model:
class UserProfile(models.Model):
country = models.CharField(max_length=127)
wants_newsletter = models.BooleanField(default=False)
# Serializer:
class UserProfile(serializers.ModelSerializer):
user = serializers.HyperlinkedRelatedField('user-detail')
class Meta:
fields = ('country', 'wants_newsletter')
...以及users/1/
的用户对象,您可以为给定用户创建一个新的用户配置文件,并向用户配置文件端点发送以下POST请求::
{
"country": "Switzerland",
"user": "/users/1/"
}
如果您的请求太多,请查看the docs。