Skip to content

Commit c05cbe2

Browse files
authored
Update pagination.py
Include `last_page_strings` logic *inside* the `get_page_number method.
1 parent ffe11d4 commit c05cbe2

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

rest_framework/pagination.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,8 +199,6 @@ def paginate_queryset(self, queryset, request, view=None):
199199

200200
paginator = self.django_paginator_class(queryset, page_size)
201201
page_number = self.get_page_number(request)
202-
if page_number in self.last_page_strings:
203-
page_number = paginator.num_pages
204202

205203
try:
206204
self.page = paginator.page(page_number)
@@ -218,7 +216,10 @@ def paginate_queryset(self, queryset, request, view=None):
218216
return list(self.page)
219217

220218
def get_page_number(self, request):
221-
return request.query_params.get(self.page_query_param, 1)
219+
page_number = request.query_params.get(self.page_query_param, 1)
220+
if page_number in self.last_page_strings:
221+
page_number = paginator.num_pages
222+
return page_number
222223

223224
def get_paginated_response(self, data):
224225
return Response(OrderedDict([

0 commit comments

Comments
 (0)