Define request at start of pagination entrypoint

This commit is contained in:
Clemens Wolff 2022-11-16 20:10:36 +01:00 committed by Clemens Wolff
parent 76eaac472c
commit 924eb37318

View File

@ -195,6 +195,7 @@ class PageNumberPagination(BasePagination):
Paginate a queryset if required, either returning a Paginate a queryset if required, either returning a
page object, or `None` if pagination is not configured for this view. page object, or `None` if pagination is not configured for this view.
""" """
self.request = request
page_size = self.get_page_size(request) page_size = self.get_page_size(request)
if not page_size: if not page_size:
return None return None
@ -214,7 +215,6 @@ class PageNumberPagination(BasePagination):
# The browsable API should display pagination controls. # The browsable API should display pagination controls.
self.display_page_controls = True self.display_page_controls = True
self.request = request
return list(self.page) return list(self.page)
def get_page_number(self, request, paginator): def get_page_number(self, request, paginator):
@ -379,13 +379,13 @@ class LimitOffsetPagination(BasePagination):
template = 'rest_framework/pagination/numbers.html' template = 'rest_framework/pagination/numbers.html'
def paginate_queryset(self, queryset, request, view=None): def paginate_queryset(self, queryset, request, view=None):
self.request = request
self.limit = self.get_limit(request) self.limit = self.get_limit(request)
if self.limit is None: if self.limit is None:
return None return None
self.count = self.get_count(queryset) self.count = self.get_count(queryset)
self.offset = self.get_offset(request) self.offset = self.get_offset(request)
self.request = request
if self.count > self.limit and self.template is not None: if self.count > self.limit and self.template is not None:
self.display_page_controls = True self.display_page_controls = True
@ -599,11 +599,11 @@ class CursorPagination(BasePagination):
offset_cutoff = 1000 offset_cutoff = 1000
def paginate_queryset(self, queryset, request, view=None): def paginate_queryset(self, queryset, request, view=None):
self.request = request
self.page_size = self.get_page_size(request) self.page_size = self.get_page_size(request)
if not self.page_size: if not self.page_size:
return None return None
self.request = request
self.base_url = request.build_absolute_uri() self.base_url = request.build_absolute_uri()
self.ordering = self.get_ordering(request, queryset, view) self.ordering = self.get_ordering(request, queryset, view)