2013-05-13 191 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

相關問題