- 分页全局配置
# 分页组件全局配置 # 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', # 'PAGE_SIZE': 5,
- 自定义分页组件使用
- 自写分页组件类
-
from rest_framework.pagination import PageNumberPagination, LimitOffsetPagination class MyPagination(PageNumberPagination): """自定义分页器""" # 我们指定的默认单页数据量(我们不指定默认是100) page_size = 3 # 提供自选单页数据量 # http://127.0.0.1:8181/students/sp/?size=2 page_size_query_param = "size" # 重命名路由查询时的分页大小属性 max_page_size = 100 class MyLimit(LimitOffsetPagination): """自定义偏移量分页器""" # 单页数据量 default_limit = 10 max_limit = 50 # 默认偏移量为2,即从第2条数据查询开始(版本较高已经删除使用了) # default_offset = 2 # offset_query_param = "offset" # 重命名路由查询时的偏移量属性名 limit_query_param = "limit" # 重命名路由查询时的单页数据量属性名
- 视图使用(偏移量分页类不能和分页类同时使用,若强行使用需要修改自定义分页器中方法)
-
class StudentModelViewSetPage(ModelViewSet): queryset = Student.objects.all() # 指定视图操作的层级为所有数据 serializer_class = StudentModelSerializers # 指定序列化器 from FRAMEWORK.MyPagination import MyPagination,MyLimit # 导入分页类,偏移量分页类 pagination_class = MyPagination
分页Pagination
发布时间 2023-04-06 16:57:15作者: Hide_凉辰