我有一個非常簡單的模型及其相關的串行和看法:Django的REST框架不能處理模型multple對象視圖集中
class Page(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=255)
pub_date = models.DateTimeField(default=timezone.now)
class PageSerializer(serializers.ModelSerializer):
class Meta:
model = Page
fields = ('user', 'title', 'pub_date')
class PageViewSet(viewsets.ModelViewSet):
queryset = Page.objects.all()
serializer_class = PageSerializer
現在我可以張貼這樣的:
{
"user": 1,
"title": "Lorem ipsum"
}
該作品精細。不過,我想發佈多個對象是這樣的:
[
{
"user": 1,
"title": "Lorem ipsum one"
},
{
"user": 1,
"title": "Lorem ipsum two"
}
]
但是這給了我一個錯誤:
"non_field_errors": [
"Invalid data. Expected a dictionary, but got list."
]
所以接受multple對象我修改了視圖as per the doc:
class PageViewSet(viewsets.ModelViewSet):
queryset = Page.objects.all()
serializer_class = PageSerializer(queryset, many=True)
但我得到一個錯誤:
TypeError at /api/blog/pages/
'ListSerializer' object is not callable
我在這裏錯過了什麼?
哇...謝謝你。我沒有在'isinstance()'方法中顯示任何文檔。你能否指出我在哪裏,或者詳細說明如何使用'isinstance()'。 – Robin
沒問題,很高興幫助。我已經更新了我的答案,以提供更多信息。 –
非常感謝! – Robin