                  # We are on the first page.
                  # Our cursor will have an offset equal to the page size,
                  # but no position to filter against yet.
                  offset = self.page_size
                  position = ''
              elif self.cursor.reverse:
                  # The change in direction will introduce a paging artifact,
                  # where we end up skipping forward a few extra items.
                  offset = 0
                  position = self.previous_position
 
</s> remove                 position = ''
 </s> add                 position = None </s> remove                 kwargs = {self.ordering + '__gt': current_position}
 </s> add                 kwargs = {primary_ordering_attr + '__gt': current_position} </s> remove                 kwargs = {self.ordering + '__lt': current_position}
 </s> add                 kwargs = {primary_ordering_attr + '__lt': current_position} </s> remove             self.has_previous = current_position != '' or offset > 0
 </s> add             self.has_previous = (current_position is not None) or (offset > 0) </s> remove             queryset = queryset.order_by('-' + self.ordering)
 </s> add             queryset = queryset.order_by(_reverse_ordering(self.ordering))
                position = None
                  # We are on the first page.
                  # Our cursor will have an offset equal to the page size,
                  # but no position to filter against yet.
                  offset = self.page_size
                position = None
              elif self.cursor.reverse:
                  # The change in direction will introduce a paging artifact,
                  # where we end up skipping forward a few extra items.
                  offset = 0
                  position = self.previous_position
keep keep keep keep replace keep keep keep keep keep
 Support for tuple ordering in cursor pagination 
rest_framework/pagination.py