          else:
              queryset = queryset.order_by(self.ordering)
  
          # If we have a cursor with a fixed position then filter by that.
          if current_position != '':
              if self.cursor.reverse:
                  kwargs = {self.ordering + '__lt': current_position}
              else:
                  kwargs = {self.ordering + '__gt': current_position}
              queryset = queryset.filter(**kwargs)
 
</s> remove                 kwargs = {self.ordering + '__lt': current_position}
 </s> add                 kwargs = {primary_ordering_attr + '__lt': current_position} </s> remove                 kwargs = {self.ordering + '__gt': current_position}
 </s> add                 kwargs = {primary_ordering_attr + '__gt': current_position} </s> remove             queryset = queryset.order_by('-' + self.ordering)
 </s> add             queryset = queryset.order_by(_reverse_ordering(self.ordering)) </s> remove                 position = ''
 </s> add                 position = None </s> remove             (offset, reverse, current_position) = (0, False, '')
 </s> add             (offset, reverse, current_position) = (0, False, None)
        if current_position is not None:
            primary_ordering_attr = self.ordering[0].lstrip('-')
          else:
              queryset = queryset.order_by(self.ordering)
  
          # If we have a cursor with a fixed position then filter by that.
        if current_position is not None:
            primary_ordering_attr = self.ordering[0].lstrip('-')
              if self.cursor.reverse:
                  kwargs = {self.ordering + '__lt': current_position}
              else:
                  kwargs = {self.ordering + '__gt': current_position}
              queryset = queryset.filter(**kwargs)
keep keep keep keep replace keep keep keep keep keep
 Support for tuple ordering in cursor pagination 
rest_framework/pagination.py