          self.cursor = connection.cursor()
          self.cursor.execute(self.sql, params)
  
  
  class Query(BaseExpression):
      """A single SQL query."""
  
      alias_prefix = 'T'
      subq_aliases = frozenset([alias_prefix])
 
</s> remove         self.explain_query = False
        self.explain_format = None
        self.explain_options = {}
 </s> add         self.explain_info = None </s> remove         q.explain_query = True
        q.explain_format = format
        q.explain_options = options
 </s> add         q.explain_info = ExplainInfo(format, options) </s> remove         output_formatter = json.dumps if self.query.explain_format == 'json' else str
 </s> add         output_formatter = json.dumps if self.query.explain_info.format == 'json' else str </s> remove                     self.query.explain_format,
                    **self.query.explain_options
 </s> add                     self.query.explain_info.format,
                    **self.query.explain_info.options </s> remove             if self.query.explain_query:
 </s> add             if self.query.explain_info:
ExplainInfo = namedtuple('ExplainInfo', ('format', 'options'))


          self.cursor = connection.cursor()
          self.cursor.execute(self.sql, params)
  
  
ExplainInfo = namedtuple('ExplainInfo', ('format', 'options'))


  class Query(BaseExpression):
      """A single SQL query."""
  
      alias_prefix = 'T'
      subq_aliases = frozenset([alias_prefix])
keep keep keep add keep keep keep keep keep
 Refs #27624 -- Changed Query.explain_info to namedtuple. 
django/db/models/sql/query.py