diff options
| -rw-r--r-- | README.rst | 50 |
1 files changed, 50 insertions, 0 deletions
@@ -18,6 +18,11 @@ Currently, the following panels have been written and are working: - List of signals, their args and receivers - Logging output via Python's built-in logging module +There is also one Django management command currently: + +- `debugsqlshell`: Outputs the SQL that gets executed as you work in the Python + interactive shell. (See example below) + If you have ideas for other panels please let us know. Installation @@ -121,6 +126,51 @@ The debug toolbar has two settings that can be set in `settings.py`: 'HIDE_DJANGO_SQL': False, } +`debugsqlshell` +=============== +The following is sample output from running the `debugsqlshell` management +command. Each ORM call that results in a database query will be beautifully +output in the shell:: + + $ ./manage.py debugsqlshell + Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51) + [GCC 4.2.1 (Apple Inc. build 5646)] on darwin + Type "help", "copyright", "credits" or "license" for more information. + (InteractiveConsole) + >>> from page.models import Page + >>> ### Lookup and use resulting in an extra query... + >>> p = Page.objects.get(pk=1) + SELECT "page_page"."id", + "page_page"."number", + "page_page"."template_id", + "page_page"."description" + FROM "page_page" + WHERE "page_page"."id" = 1 + + >>> print p.template.name + SELECT "page_template"."id", + "page_template"."name", + "page_template"."description" + FROM "page_template" + WHERE "page_template"."id" = 1 + + Home + >>> ### Using select_related to avoid 2nd database call... + >>> p = Page.objects.select_related('template').get(pk=1) + SELECT "page_page"."id", + "page_page"."number", + "page_page"."template_id", + "page_page"."description", + "page_template"."id", + "page_template"."name", + "page_template"."description" + FROM "page_page" + INNER JOIN "page_template" ON ("page_page"."template_id" = "page_template"."id") + WHERE "page_page"."id" = 1 + + >>> print p.template.name + Home + TODOs and BUGS ============== See: http://github.com/robhudson/django-debug-toolbar/issues |
