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:

>>> 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! :-)


  • Martin Geber Sept. 12, 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.

  • Toke Sept. 12, 2008

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

  • Martin Geber Oct. 28, 2008

    Danke für diesen Tipp Toke!

    Sieht wirklich sehr nett aus.


Comments closed

Sorry, new comments are no longer allowed for this entry.

Write me an email if you have feedback or any questions regarding this post. If you found this post useful and just want to say thank you then don't forget that I have an Amazon Wishlist. :-)


↑ to the elevators

© 2001—2010 Martin Mahner. This is an I ♥ Django Project.

Admin | Generated: Thu, 2 Sep 2010 19:21:13 +0200