Getting the SQL from a Django QuerySet

exupero picture exupero · Sep 20, 2010 · Viewed 168.7k times · Source

How do I get the SQL that Django will use on the database from a QuerySet object? I'm trying to debug some strange behavior, but I'm not sure what queries are going to the database. Thanks for your help.

Answer

jpwatts picture jpwatts · Sep 20, 2010

You print the queryset's query attribute.

>>> queryset = MyModel.objects.all()
>>> print(queryset.query)
SELECT "myapp_mymodel"."id", ... FROM "myapp_mymodel"