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.