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