如何在Django rest框架中实现通用API视图的page_size = max? ?page_size = max使用drf-extensions,但仅适用于不带泛型ListAPIView的Viewsets。有人可以确认我们怎么做?
提前感谢您的帮助。
答案 0 :(得分:1)
使用paginate_by
视图集中的paginate_by_param
,max_paginate_by
和ListAPIView
获取允许的最大页面大小。
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`.
答案 1 :(得分:0)
在查询集中使用分页来获取对象
答案 2 :(得分:0)
谢谢大家的回复。但我所发现的是以下问题的副本: Django rest framework: how to turn off/on pagination in ModelViewSet
我们只需要从Django rest框架PageNumberPagination类重写get_page_size()方法。