分页 分页使用方法1.在配置文件settings.py中配置使用注意事项行为
2022年11月1日 am3:05
•
未分类
分页分页 分页使用方法1.在配置文件settings.py中配置使用注意事项行为在配置文件settings.py中配置使用注意事项:2.pagination_class来指定分页类可选的两种分页器类1.2.志强爱璇璇
REST framework提供了分页的支持分页,提供了两个分页类使用方法1.在配置文件settings.py中配置使用
REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'PAGE_SIZE': 100 # 每页数目}
注意事项:
如果在配置settings.py文件中, 设置了全局分页,那么在drf中凡是调用了ListModelMixin的list(),都会自动分页。如果项目中出现大量需要分页的数据,只有少数部分的分页,则可以在少部分的视图类中关闭分页功能。class 视图类(ListAPIView): pagination_class = None
2.通过自定义Pagination类,来为视图添加不同分页行为分页,视图类中,通过类属性 : pagination_class来指定分页类
from rest_framework.pagination import PageNumberPaginationclass LargeResultsSetPagination(PageNumberPagination): page_size = 1000 page_size_query_param = 'page_size' max_page_size = 10000class BookDetailView(RetrieveAPIView): queryset = BookInfo.objects.all() serializer_class = BookInfoSerializer pagination_class = LargeResultsSetPagination
可选的两种分页器类1. PageNumberPagination
%ignore_pre_4%
2. LimitOffsetPagination
from rest_framework.pagination import LimitOffsetPaginationclass StandardLimitOffsetPagination(LimitOffsetPagination): # 默认每一页查询的数据量,类似上面的page_size default_limit = 2 limit_query_param = "size" offset_query_param = "start"class StudentAPIView(ListAPIView): queryset = Student.objects.all() serializer_class = StudentModelSerializer # 调用页码分页类 # pagination_class = StandardPageNumberPagination # 调用查询偏移分页类 pagination_class = StandardLimitOffsetPagination
Original:
Author: 志强爱璇璇
Title: drf — 分页组件Pagination