那麼深,我有這樣的模式:ModelSerializer POST應該是平的,而GET應該有2
class Article(models.Model):
user = models.ForeignKey('User', null=True) # Allow anonymous articles
url = models.CharField(max_length=255)
date = models.DateTimeField()
status = models.CharField(max_length=255)
這串:
class ArticleSerializer(serializers.modelSerializer):
class Meta:
model = Article
fields = ('user', 'date', 'status')
depth = 2
有了這個視圖集:
class ArticleViewSet(viewsets.ModelViewSet):
queryset = Article.objects.all(=
serializer_class = ArticleSerializer
所以我在一個請求中獲取與用戶相關的所有內容。 問題是,如果我想添加一篇文章,我現在必須添加一大堆嵌套的json。我寧願僅通過id引用用戶,並完成它。
像:
{
"user": 1, // Or even null
"url": "http://test.tld",
"date": now,
"status": "published"
}
任何想法我怎麼能做到這一點?我想我需要另一個序列化器來寫數據?如何將所有這些綁定在一起?
如果我想這樣發佈JSON,我會收到一個錯誤,指出「非字段錯誤」,因爲「customer」有幾個附加關係,並且由於「深度」,它們也需要填充。但我只想提供一個客戶ID並完成它。
你有[nested serializers](http://www.django-rest-framework.org/api-guide/serializers/#specifying-nested-serialization )你不是在炫耀G? – 2015-02-06 00:09:40
@RossRogers:不,我在整個應用程序的其餘部分使用HyperlinkedModelSerializers,但問題是,如果我想發佈文章,我會得到「非字段錯誤」,因爲我必須指定整個客戶以及它的所有子 - 關係,這太深了^^ – Sorona 2015-02-06 11:24:55