Documentation: Add note about multiple databases and debugging raw sql
http://docs.djangoproject.com/en/dev/faq/models/ has a section called "How can I see the raw SQL queries Django is running?", where it suggests:
>>> from django.db import connection
>>> connection.queries
[{'sql': 'SELECT polls_polls.id,polls_polls.question,polls_polls.pub_date FROM polls_polls',
'time': '0.002'}]
However, in a multidb scenario, that only gets the sql from the default connection. I found a better way is this function:
def get_sql():
from django import db
q = []
for c in db.connections.all():
q.extend(c.queries)
return q
A note should probably be made about this.
Change History
(8)
Triage Stage: |
Unreviewed → Accepted
|
Has patch: |
set
|
Owner: |
changed from nobody to David Fischer
|
Status: |
new → assigned
|
Triage Stage: |
Accepted → Ready for checkin
|
Resolution: |
→ fixed
|
Status: |
assigned → closed
|
There is an even better way:
connections['mydb'].queries
. Notes about this approach were added in r12709, but not to the FAQ.