Rename method to 'page_number' (thanks xordoquy) and allow negative pages

Signed-off-by: Paul Wayper <paulway@redhat.com>
This commit is contained in:
Paul Wayper 2020-11-05 07:32:58 +11:00
parent 8ed5b1e70e
commit 225bc3a762

View File

@ -198,7 +198,7 @@ class PageNumberPagination(BasePagination):
return None return None
paginator = self.django_paginator_class(queryset, page_size) paginator = self.django_paginator_class(queryset, page_size)
page_number = self.get_page(request) page_number = self.get_page_number(request)
if page_number in self.last_page_strings: if page_number in self.last_page_strings:
page_number = paginator.num_pages page_number = paginator.num_pages
@ -264,11 +264,9 @@ class PageNumberPagination(BasePagination):
return self.page_size return self.page_size
def get_page(self, request): def get_page_number(self, request):
return _positive_int( # This can be negative to mean 'pages from the end'.
request.query_params.get(self.page_query_param, 1), return int(request.query_params.get(self.page_query_param, 1))
strict=True,
)
def get_next_link(self): def get_next_link(self):
if not self.page.has_next(): if not self.page.has_next():