freakydog: Zeig mal den Query

Zeig mal den Query

Oft will man schnell mal wissen, was Djangos DB-Api so im Hintergrund treibt, sprich: Welches SQL-Statement wird abgesetzt.

Es gibt viele Apps die das übernehmen, der letzte Schrei derzeit ist Rob Hudsons Django Debug Toolbar. Der Nachteil ist, dass die Ausgabe zumeist im Template stattfindet. Im Quellcode direkt gehts aber auch:

1
2
3
>>> q = Entry.objects.values('id')
>>> print q.query.as_sql()
('SELECT "weblog_entry"."id" FROM "weblog_entry" ORDER BY "weblog_entry"."published" DESC', ())

Die Ausgabe erfolgt dann im Terminal bzw. im Logfile des Webservers. Neat! Smiley:  :-)

Geschrieben am: 11. Sept. 2008 um 20:01 Uhr, Abgelegt in Django & Python

Kommentare zu diesem Artikel (3):

  1. Martin Geber schrieb am 12. September 2008:

    Das ist ein interessanter Ansatz. Mit Python's logging konnte man sich das ganze auch nett ablegen für spätere Analysen.

    Danke für den Tipp.

    Cheers.

  2. Toke schrieb am 12. September 2008:

    @MARTIN G. probier mal django-logging aus. Nettes Projekt. Zum reinen query-gucken ist natürlich q.query.as_sql() ausreichend.

  3. Martin Geber schrieb am 28. Oktober 2008:

    Danke für diesen Tipp Toke!

    Sieht wirklich sehr nett aus.

Kommentar schreiben

Kommentar hinzufügen

Neue Kommentare sind nur noch über diese Seite möglich.