Added convenience method for viewing Query SQL without params.
This is the old Query.as_sql() method revived: it's like Query.__str__, but the parameters aren't substituted into the placeholders. Thus, it's a more accurate representation of the SQL the (default) backend will see. Entirely internal. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16655 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
0686c6b0ee
commit
c3a0dcf6e9
|
@ -156,14 +156,21 @@ class Query(object):
|
|||
def __str__(self):
|
||||
"""
|
||||
Returns the query as a string of SQL with the parameter values
|
||||
substituted in.
|
||||
substituted in (use sql_with_params() to see the unsubstituted string).
|
||||
|
||||
Parameter values won't necessarily be quoted correctly, since that is
|
||||
done by the database interface at execution time.
|
||||
"""
|
||||
sql, params = self.get_compiler(DEFAULT_DB_ALIAS).as_sql()
|
||||
sql, params = self.sql_with_params()
|
||||
return sql % params
|
||||
|
||||
def sql_with_params(self):
|
||||
"""
|
||||
Returns the query as an SQL string and the parameters that will be
|
||||
subsituted into the query.
|
||||
"""
|
||||
return self.get_compiler(DEFAULT_DB_ALIAS).as_sql()
|
||||
|
||||
def __deepcopy__(self, memo):
|
||||
result = self.clone(memo=memo)
|
||||
memo[id(self)] = result
|
||||
|
|
Loading…
Reference in New Issue