Bil*_*ble 16 django pagination django-rest-framework
我正在使用Django Rest Framework ModelViewSet作为我的一个观点.ModelViewSet使用ListModelMixin自动分页结果,但我不希望结果分页.在我的API调用中,我说我想要返回多少结果,但就目前而言,我在一次调用中无法获得超过10个结果.
有没有办法关闭自动分页,所以我可以得到尽可能多的结果我想要返回?
tri*_*het 49
如果您使用的是最新版本的DRF,则只需添加 pagination_class = None到您的ModelViewSet定义中即可.
class MyClassBasedView(ModelViewSet):
pagination_class = None
...
Run Code Online (Sandbox Code Playgroud)
你也可以在这里看到一些提示https://github.com/tomchristie/django-rest-framework/issues/1390
ModelViewSet 或 mixins.ListModelMixin 自动为我们创建分页。您可以通过paginator = None停止它
class NotesViewSet(viewsets.ModelViewSet):
queryset = Notes.objects.all()
serializer_class = NotesWriteSerializer
paginator = None
Run Code Online (Sandbox Code Playgroud)
如果您希望仅针对一项操作禁用分页器:
@property
def paginator(self):
self._paginator = super(NotesViewSet, self).paginator
if self.action == 'the_action_you_want_pagination_disabled':
self._paginator = None
return self._paginator
Run Code Online (Sandbox Code Playgroud)
在你的ModelViewSet.
| 归档时间: |
|
| 查看次数: |
8112 次 |
| 最近记录: |