Is there a way I can print the query the Django ORM is generating?
Say I execute the following statement: Model.objects.filter(name='test')
How do I get to see the generated SQL query?
djangodjango-modelsdjango-orm
Is there a way I can print the query the Django ORM is generating?
Say I execute the following statement: Model.objects.filter(name='test')
How do I get to see the generated SQL query?
Best Answer
Each QuerySet object has a
query
attribute that you can log or print to stdout for debugging purposes.Note that in pdb, using
p qs.query
will not work as desired, butprint(qs.query)
will.If that doesn't work, for old Django versions, try:
Edit
I've also used custom template tags (as outlined in this snippet) to inject the queries in the scope of a single request as HTML comments.