Skip to content

Commit a7b0d4e

Browse files
committed
Check queryset.ordered before applying enforced ordering
1 parent ade172e commit a7b0d4e

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

rest_framework/pagination.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -624,10 +624,11 @@ def paginate_queryset(self, queryset, request, view=None):
624624
(offset, reverse, current_position) = self.cursor
625625

626626
# Cursor pagination always enforces an ordering.
627-
if reverse:
628-
queryset = queryset.order_by(*_reverse_ordering(self.ordering))
629-
else:
630-
queryset = queryset.order_by(*self.ordering)
627+
if not queryset.ordered:
628+
if reverse:
629+
queryset = queryset.order_by(*_reverse_ordering(self.ordering))
630+
else:
631+
queryset = queryset.order_by(*self.ordering)
631632

632633
# If we have a cursor with a fixed position then filter by that.
633634
if current_position is not None:

0 commit comments

Comments
 (0)