Skip to content

Commit 6d94ea9

Browse files
committed
Remove ordering filter class handling
These filters are already applied by GenericAPIView.filter_queryset()
1 parent a7b0d4e commit 6d94ea9

File tree

1 file changed

+6
-22
lines changed

1 file changed

+6
-22
lines changed

rest_framework/pagination.py

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,7 @@ def paginate_queryset(self, queryset, request, view=None):
615615
return None
616616

617617
self.base_url = request.build_absolute_uri()
618-
self.ordering = self.get_ordering(request, queryset, view)
618+
self.ordering = self.get_ordering()
619619

620620
self.cursor = self.decode_cursor(request)
621621
if self.cursor is None:
@@ -802,41 +802,25 @@ def get_previous_link(self):
802802
cursor = Cursor(offset=offset, reverse=True, position=position)
803803
return self.encode_cursor(cursor)
804804

805-
def get_ordering(self, request, queryset, view):
805+
def get_ordering(self):
806806
"""
807807
Return a tuple of strings, that may be used in an `order_by` method.
808808
"""
809-
# The default case is to check for an `ordering` attribute
810-
# on this pagination instance.
811809
ordering = self.ordering
812810

813-
ordering_filters = [
814-
filter_cls for filter_cls in getattr(view, 'filter_backends', [])
815-
if hasattr(filter_cls, 'get_ordering')
816-
]
817-
818-
if ordering_filters:
819-
# If a filter exists on the view that implements `get_ordering`
820-
# then we defer to that filter to determine the ordering.
821-
filter_cls = ordering_filters[0]
822-
filter_instance = filter_cls()
823-
ordering_from_filter = filter_instance.get_ordering(request, queryset, view)
824-
if ordering_from_filter:
825-
ordering = ordering_from_filter
826-
827-
assert ordering is not None, (
811+
assert self.ordering is not None, (
828812
'Using cursor pagination, but no ordering attribute was declared '
829813
'on the pagination class.'
830814
)
831-
assert '__' not in ordering, (
815+
assert '__' not in self.ordering, (
832816
'Cursor pagination does not support double underscore lookups '
833817
'for orderings. Orderings should be an unchanging, unique or '
834818
'nearly-unique field on the model, such as "-created" or "pk".'
835819
)
836820

837-
assert isinstance(ordering, (str, list, tuple)), (
821+
assert isinstance(self.ordering, (str, list, tuple)), (
838822
'Invalid ordering. Expected string or tuple, but got {type}'.format(
839-
type=type(ordering).__name__
823+
type=type(self.ordering).__name__
840824
)
841825
)
842826

0 commit comments

Comments
 (0)