17 lines
620 B
Python
17 lines
620 B
Python
from rest_framework.pagination import PageNumberPagination
|
|
from rest_framework.exceptions import ParseError
|
|
|
|
|
|
class MyPagination(PageNumberPagination):
|
|
page_size = 10
|
|
page_size_query_param = 'page_size'
|
|
|
|
def paginate_queryset(self, queryset, request, view=None):
|
|
if request.query_params.get('pageoff', None) or request.query_params.get('page', None) == '0':
|
|
if queryset.count() < 5000:
|
|
return None
|
|
raise ParseError('单次请求数据量大,请分页获取')
|
|
return super().paginate_queryset(queryset, request, view=view)
|
|
|
|
class PageOrNot:
|
|
pass |