@@ -624,7 +624,7 @@ def paginate_queryset(self, queryset, request, view=None):
624624
625625 # Cursor pagination always enforces an ordering.
626626 if not queryset .ordered :
627- self .ordering = self .get_ordering (request , queryset , view )
627+ self .ordering = self .get_ordering ()
628628
629629 if reverse :
630630 queryset = queryset .order_by (* _reverse_ordering (self .ordering ))
@@ -803,47 +803,29 @@ def get_previous_link(self):
803803 cursor = Cursor (offset = offset , reverse = True , position = position )
804804 return self .encode_cursor (cursor )
805805
806- def get_ordering (self , request , queryset , view ):
806+ def get_ordering (self ):
807807 """
808808 Return a tuple of strings, that may be used in an `order_by` method.
809809 """
810- # The default case is to check for an `ordering` attribute
811- # on this pagination instance.
812- ordering = self .ordering
813-
814- ordering_filters = [
815- filter_cls for filter_cls in getattr (view , 'filter_backends' , [])
816- if hasattr (filter_cls , 'get_ordering' )
817- ]
818-
819- if ordering_filters :
820- # If a filter exists on the view that implements `get_ordering`
821- # then we defer to that filter to determine the ordering.
822- filter_cls = ordering_filters [0 ]
823- filter_instance = filter_cls ()
824- ordering_from_filter = filter_instance .get_ordering (request , queryset , view )
825- if ordering_from_filter :
826- ordering = ordering_from_filter
827-
828- assert ordering is not None , (
810+ assert self .ordering is not None , (
829811 'Using cursor pagination, but no ordering attribute was declared '
830812 'on the pagination class.'
831813 )
832- assert '__' not in ordering , (
814+ assert '__' not in self . ordering , (
833815 'Cursor pagination does not support double underscore lookups '
834816 'for orderings. Orderings should be an unchanging, unique or '
835817 'nearly-unique field on the model, such as "-created" or "pk".'
836818 )
837819
838- assert isinstance (ordering , (str , list , tuple )), (
820+ assert isinstance (self . ordering , (str , list , tuple )), (
839821 'Invalid ordering. Expected string or tuple, but got {type}' .format (
840- type = type (ordering ).__name__
822+ type = type (self . ordering ).__name__
841823 )
842824 )
843825
844- if isinstance (ordering , str ):
845- return (ordering ,)
846- return tuple (ordering )
826+ if isinstance (self . ordering , str ):
827+ return (self . ordering ,)
828+ return tuple (self . ordering )
847829
848830 def decode_cursor (self , request ):
849831 """
0 commit comments