code: def order_by(self, field_name=None):
          
          assert self.query.can_filter(), "Cannot reorder a query once a slice has been taken."
  
          clone = self._clone()
          clone.query.clear_ordering()
  
          if field_name is not None:
              clone.query.add_ordering(field_name)
  
          return clone
docs: Returns a new QuerySet instance with the ordering changed.