Update pagination.py

Include `last_page_strings` logic *inside* the `get_page_number method.
This commit is contained in:
Tom Christie 2021-03-10 12:50:59 +00:00 committed by GitHub
parent ffe11d41bd
commit c05cbe2da2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -199,8 +199,6 @@ class PageNumberPagination(BasePagination):
paginator = self.django_paginator_class(queryset, page_size) paginator = self.django_paginator_class(queryset, page_size)
page_number = self.get_page_number(request) page_number = self.get_page_number(request)
if page_number in self.last_page_strings:
page_number = paginator.num_pages
try: try:
self.page = paginator.page(page_number) self.page = paginator.page(page_number)
@ -218,7 +216,10 @@ class PageNumberPagination(BasePagination):
return list(self.page) return list(self.page)
def get_page_number(self, request): def get_page_number(self, request):
return request.query_params.get(self.page_query_param, 1) page_number = request.query_params.get(self.page_query_param, 1)
if page_number in self.last_page_strings:
page_number = paginator.num_pages
return page_number
def get_paginated_response(self, data): def get_paginated_response(self, data):
return Response(OrderedDict([ return Response(OrderedDict([