2013-05-13 77 views
1

在延续this问题如何提交链接的模型,可以请您给一个有效的输入JSON同时创建新的用户和用户配置的例子吗?使用DjangoRestFramework

虽然这成功地创建上用户终点新用户:

{ 
    "username": "newuser", 
    "password": "abc" 
} 

但在失败用户配置终点:

{ 
    "user":{ 
      "username": "newuser2", 
      "password": "abc" 
    } 
    "biography": "1", 
} 

返回:

{ 
    "user": [ 
     "This field cannot be null." 
    ] 
} 
+0

通常这些需要指向其他资源的相关对象资源URI,但我不能肯定地说DjangoRestFramework做,因为我没有用它说。 – Ngenator 2013-05-13 12:43:44

回答

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": "https://stackoverflow.com/users/1/" 
} 

如果这对于你的要求太多,请看看the docs

相关问题