O'Reilly logo

Django 1.1 Testing and Debugging by Karen M. Tracey

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Database query history

When DEBUG is True, Django maintains a history of all SQL commands sent to the database. This history is kept in a list, named queries, located in the django.db.connection module. The easiest way to see what is kept in this list is to examine it from a shell session:

>>> from django.db import connection 
>>> connection.queries 
[] 
>>> from survey.models import Survey 
>>> Survey.objects.count() 
2 
>>> connection.queries 
[{'time': '0.002', 'sql': u'SELECT COUNT(*) FROM "survey_survey"'}] 
>>> 

Here we see that queries is initially empty at the beginning of the shell session. We then retrieve a count of the number of Survey objects in the database, which comes back as 2. When we again display the contents of queries, we ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required