Opened 5 years ago

Closed 5 years ago

Last modified 4 years ago

#13101 closed (fixed)

Documentation: Add note about multiple databases and debugging raw sql

Reported by: anonymous Owned by: davidfischer
Component: Documentation Version: master
Severity: Keywords: multidb, 1.2, debug
Cc: djfische@… Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

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.

Attachments (1)

13101-queries.diff (693 bytes) - added by davidfischer 5 years ago.
Updated the attached file with Russell's proposal

Download all attachments as: .zip

Change History (8)

comment:1 Changed 5 years ago by russellm

  • milestone set to 1.2
  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset

There is an even better way: connections['mydb'].queries. Notes about this approach were added in r12709, but not to the FAQ.

comment:2 Changed 5 years ago by russellm

  • Triage Stage changed from Unreviewed to Accepted

Changed 5 years ago by davidfischer

Updated the attached file with Russell's proposal

comment:3 Changed 5 years ago by davidfischer

  • Has patch set
  • Owner changed from nobody to davidfischer
  • Status changed from new to assigned

comment:4 Changed 5 years ago by davidfischer

  • Cc djfische@… added

Adding myself as cc in case more is required

comment:5 Changed 5 years ago by russellm

  • Triage Stage changed from Accepted to Ready for checkin

comment:6 Changed 5 years ago by russellm

  • Resolution set to fixed
  • Status changed from assigned to closed

(In [13156]) Fixed #13101 -- Added multi-db info about debugging queries. Thanks to David Fischer for the patch.

comment:7 Changed 4 years ago by jacob

  • milestone 1.2 deleted

Milestone 1.2 deleted

Note: See TracTickets for help on using tickets.
Back to Top