mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-11-01 00:17:40 +03:00 
			
		
		
		
	Make request consistently available in pagination classes (#8764)
* Store request in CursorPagination field * Define request at start of pagination entrypoint
This commit is contained in:
		
							parent
							
								
									d5f228dd00
								
							
						
					
					
						commit
						759fc6f42e
					
				|  | @ -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,6 +599,7 @@ 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 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user