我正在使用djangorestframework
来管理将Android移动应用程序连接到我的Django Web应用程序的REST API。我有一个对象列表,我需要通过REST API从Web应用程序检索,到目前为止,通用ListCreateAPIView
工作正常。
但是,REST API返回的内容并不完全是列表/数组本身,而是包含元数据和实际results
列表的JSON对象。这是所述输出的一个例子:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"foo":"bar"
}
]
}
问题是,我的移动应用程序的REST客户端需要一个JSON列表/数组,而不是上面的JSON对象。有没有办法让我的通用视图删除count
,next
和previous
元数据,只输出results
列表本身?我需要一个如下输出:
[
{"foo":"bar"},
{"foo":"something"},
{"foo":"another"}
]
哦,我不确定这是否有用,但我使用Retrofit作为我的Android应用程序的REST客户端,它应该连接到我的Web应用程序的REST API。
答案 0 :(得分:2)
包装数组的这个对象是由queryset paginator生成的。如果禁用分页,您将获得该数组。要停用分页,请将paginate_by
设置为None
:
class PaginatedListView(ListAPIView):
queryset = ExampleModel.objects.all()
serializer_class = ExampleModelSerializer
paginate_by = None