def get_from_clause(self):
    '\n        Returns a list of strings that are joined together to go after the\n        "FROM" part of the query, as well as a list any extra parameters that\n        need to be included. Sub-classes, can override this to create a\n        from-clause via a "select".\n\n        This should only be called after any SQL construction methods that\n        might change the tables we need. This means the select columns,\n        ordering and distinct must be done first.\n        '
    result = []
    params = []
    for alias in self.query.tables:
        if (not self.query.alias_refcount[alias]):
            continue
        try:
            from_clause = self.query.alias_map[alias]
        except KeyError:
            continue
        (clause_sql, clause_params) = self.compile(from_clause)
        result.append(clause_sql)
        params.extend(clause_params)
    for t in self.query.extra_tables:
        (alias, _) = self.query.table_alias(t)
        if ((alias not in self.query.alias_map) or (self.query.alias_refcount[alias] == 1)):
            result.append((', %s' % self.quote_name_unless_alias(alias)))
    return (result, params)
Returns a list of strings that are joined together to go after the
"FROM" part of the query, as well as a list any extra parameters that
need to be included. Sub-classes, can override this to create a
from-clause via a "select".

This should only be called after any SQL construction methods that
might change the tables we need. This means the select columns,
ordering and distinct must be done first.
def get_from_clause(self):
    '\n        Returns a list of strings that are joined together to go after the\n        "FROM" part of the query, as well as a list any extra parameters that\n        need to be included. Sub-classes, can override this to create a\n        from-clause via a "select".\n\n        This should only be called after any SQL construction methods that\n        might change the tables we need. This means the select columns,\n        ordering and distinct must be done first.\n        '
    result = []
    params = []
    for alias in self.query.tables:
        if (not self.query.alias_refcount[alias]):
            continue
        try:
            from_clause = self.query.alias_map[alias]
        except KeyError:
            continue
        (clause_sql, clause_params) = self.compile(from_clause)
        result.append(clause_sql)
        params.extend(clause_params)
    for t in self.query.extra_tables:
        (alias, _) = self.query.table_alias(t)
        if ((alias not in self.query.alias_map) or (self.query.alias_refcount[alias] == 1)):
            result.append((', %s' % self.quote_name_unless_alias(alias)))
    return (result, params)