【发布时间】:2016-07-25 03:35:36
【问题描述】:
我正在尝试对 ViewSet 的结果进行分页,但无法获得对数据进行分页的响应。
当我设置全局分页时,它可以正常工作,但是我不想这样做并覆盖来自GenericAPIView 的所有视图/视图集,因为我只想对一个类进行分页。
"""
don't want to do this, but this works showing that my view is based off of `GenericAPIView`.
# settings.py
"""
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination'
}
当我删除默认设置时,此视图会丢失分页结果
# views.py
from rest_framework.viewsets import ModelViewSet
class ClipViewSet(ModelViewSet):
serializer_class = ClipSerializer
queryset = Clip.objects.all()
pagination_class = PageNumberPagination
从docs 中的所有迹象来看,这应该是完全可能的,我不确定为什么在我的项目中它不起作用。我正在使用 django 1.9.7 和 DRF 3.4.0
【问题讨论】:
-
您使用的
page_size是否正确?尝试在您的视图中将其设置为较小的值并尝试一下。 -
是的,目前有 11 个结果,我已将
page_size设置为 5,但它不会分页(除非我在设置中设置默认值) -
对我来说似乎是一个错误。你可以在 DRF 的 github repo 中打开一个问题。
-
@SudipKafle 我得出了同样的结论,已经发布了我们会看看他们怎么说github.com/tomchristie/django-rest-framework/issues/4304
标签: django django-rest-framework