通用视图中的最大页面大小查询集django rest

时间:2018-02-11 19:26:51

标签: django pagination django-rest-framework django-queryset

如何在Django rest框架中实现通用API视图的page_size = max? ?page_size = max使用drf-extensions,但仅适用于不带泛型ListAPIView的Viewsets。有人可以确认我们怎么做?

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

使用paginate_by视图集中的paginate_by_parammax_paginate_byListAPIView获取允许的最大页面大小。

class PaginatedListView(ListAPIView):
    queryset = ExampleModel.objects.all()
    serializer_class = ExampleModelSerializer    
    paginate_by = 10 # Default to 10
    paginate_by_param ='page_size' # Allow client to override, using `?page_size=xxx`.
    max_paginate_by = 100 # Maximum limit allowed when using `?page_size=xxx`.
  

参考:pagination-in-the-generic-views

答案 1 :(得分:0)

在查询集中使用分页来获取对象

参考:https://docs.djangoproject.com/en/2.0/topics/pagination/

答案 2 :(得分:0)

谢谢大家的回复。但我所发现的是以下问题的副本: Django rest framework: how to turn off/on pagination in ModelViewSet

我们只需要从Django rest框架PageNumberPagination类重写get_page_size()方法。