pythonsqldjangodjango-queryset

Getting the SQL from a Django QuerySet


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.


Solution

  • You print the queryset's query attribute.

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