feat: base 支持从request.data中获取page和page_size

This commit is contained in:
caoqianming 2024-03-08 17:56:04 +08:00
parent 779488589a
commit 87cd39ee89
1 changed files with 12 additions and 0 deletions

View File

@ -9,6 +9,18 @@ class MyPagination(PageNumberPagination):
page_size = 10 page_size = 10
page_size_query_param = 'page_size' page_size_query_param = 'page_size'
def get_page_number(self, request, paginator):
if 'page' in request.data:
request.query_params['page'] = request.data['page']
del request.data['page']
return super().get_page_number(request, paginator)
def get_page_size(self, request):
if 'page_size' in request.data:
request.query_params['page_size'] = request.data['page_size']
del request.data['page_size']
return super().get_page_size(request)
def paginate_queryset(self, queryset, request, view=None): def paginate_queryset(self, queryset, request, view=None):
if request.query_params.get('pageoff', None) or request.query_params.get('page', None) == '0': if request.query_params.get('pageoff', None) or request.query_params.get('page', None) == '0':
if queryset.count() < 3000: if queryset.count() < 3000: