Django:如何查看查询的原始SQL响应

时间:2019-09-14 18:07:04

标签: sql django

在Django中,如果我想以调试模式查看原始sql,可以在django shell中进行检查:

from django.db import connections
User.objects.all()
print(connections['default'].queries[-1]['sql'])

类似地,我们可以看到该sql的原始响应。在上述情况下,sql查询可能以csv(制表符分隔格式)返回原始结果。从那时起,django可以创建模型对象数组。

2 个答案:

答案 0 :(得分:1)

有更好的工具可以在Django中调试SQL查询。标准工具是使用Django-debug-toolbar,它允许您查看请求/响应中所有查询的SQL查询,结果和EXPLAIN输出,以及每个查询所需的时间。该文档位于https://django-debug-toolbar.readthedocs.io/en/latest/

答案 1 :(得分:0)

您可以这样做:

str(User.objects.all().query)

# or 

print(User.objects.all().query)

# or 

print(User.objects.all().query.sql_with_params())