如果我有一个 django 查询集,它print(queryset.query)
会向我显示 SQL 语句,以便我可以验证它。但对于聚合,它们永远不会返回查询集。你如何打印这些查询。
我想我可以打开 ORM 的调试日志记录并以这种方式找到它们,但似乎我应该能够在执行引擎将其发送到 postgres 之前得到它......
connection.queries
您可以在聚合查询之后使用。
例子:
...
from django.db import connection
def your_view(request):
# Your view logic and aggregate queryset
print(connection.queries)
return render(request, 'index.html', {})
Run Code Online (Sandbox Code Playgroud)
输出是您输入到数据库中的SQL 查询的字典。