          obj = self.query.clone()
          if obj.low_mark == 0 and obj.high_mark is None and not self.query.distinct_fields:
              # If there is no slicing in use, then we can safely drop all ordering
              obj.clear_ordering(True)
          return obj.get_compiler(connection=self.connection).as_sql()
  
      def get_default_columns(self, start_alias=None, opts=None, from_parent=None):
          """
          Computes the default columns for selecting every field in the base
          model. Will sometimes be called to pull in related models (e.g. via
 
</s> remove         if lookup_type == 'isnull':
            return bool(value)
        else:
 </s> add         if lookup_type == 'contains':
            # 'contains' name might conflict with the "normal" contains lookup,
            # for which the value is not prepared, but left as-is.
        return obj.get_compiler(connection=self.connection).as_sql(subquery=True)
          obj = self.query.clone()
          if obj.low_mark == 0 and obj.high_mark is None and not self.query.distinct_fields:
              # If there is no slicing in use, then we can safely drop all ordering
              obj.clear_ordering(True)
        return obj.get_compiler(connection=self.connection).as_sql(subquery=True)
  
      def get_default_columns(self, start_alias=None, opts=None, from_parent=None):
          """
          Computes the default columns for selecting every field in the base
          model. Will sometimes be called to pull in related models (e.g. via
keep keep keep keep replace keep keep keep keep keep
 Fixed #14483 -- Allowed using subqueries with GIS lookups 
django/db/models/sql/compiler.py