From c879aaf39880a87c84ac7fd25e536087bdf35b5a Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Thu, 16 Jul 2015 10:26:16 +0100 Subject: [PATCH] page_size needs to be stored as state on CursorPagination. Refs 3147. --- rest_framework/pagination.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rest_framework/pagination.py b/rest_framework/pagination.py index a14141d3c..a171c684f 100644 --- a/rest_framework/pagination.py +++ b/rest_framework/pagination.py @@ -455,8 +455,8 @@ class CursorPagination(BasePagination): template = 'rest_framework/pagination/previous_and_next.html' def paginate_queryset(self, queryset, request, view=None): - page_size = self.get_page_size(request) - if not page_size: + self.page_size = self.get_page_size(request) + if not self.page_size: return None self.base_url = request.build_absolute_uri() @@ -491,8 +491,8 @@ class CursorPagination(BasePagination): # If we have an offset cursor then offset the entire page by that amount. # We also always fetch an extra item in order to determine if there is a # page following on from this one. - results = list(queryset[offset:offset + page_size + 1]) - self.page = list(results[:page_size]) + results = list(queryset[offset:offset + self.page_size + 1]) + self.page = list(results[:self.page_size]) # Determine the position of the final item following the page. if len(results) > len(self.page):