Skip to content

Commit 759fc6f

Browse files
authored
Make request consistently available in pagination classes (#8764)
* Store request in CursorPagination field * Define request at start of pagination entrypoint
1 parent d5f228d commit 759fc6f

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

rest_framework/pagination.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ def paginate_queryset(self, queryset, request, view=None):
195195
Paginate a queryset if required, either returning a
196196
page object, or `None` if pagination is not configured for this view.
197197
"""
198+
self.request = request
198199
page_size = self.get_page_size(request)
199200
if not page_size:
200201
return None
@@ -214,7 +215,6 @@ def paginate_queryset(self, queryset, request, view=None):
214215
# The browsable API should display pagination controls.
215216
self.display_page_controls = True
216217

217-
self.request = request
218218
return list(self.page)
219219

220220
def get_page_number(self, request, paginator):
@@ -379,13 +379,13 @@ class LimitOffsetPagination(BasePagination):
379379
template = 'rest_framework/pagination/numbers.html'
380380

381381
def paginate_queryset(self, queryset, request, view=None):
382+
self.request = request
382383
self.limit = self.get_limit(request)
383384
if self.limit is None:
384385
return None
385386

386387
self.count = self.get_count(queryset)
387388
self.offset = self.get_offset(request)
388-
self.request = request
389389
if self.count > self.limit and self.template is not None:
390390
self.display_page_controls = True
391391

@@ -599,6 +599,7 @@ class CursorPagination(BasePagination):
599599
offset_cutoff = 1000
600600

601601
def paginate_queryset(self, queryset, request, view=None):
602+
self.request = request
602603
self.page_size = self.get_page_size(request)
603604
if not self.page_size:
604605
return None

0 commit comments

Comments
 (0)