在Django中,如果我想以调试模式查看原始sql,可以在django shell中进行检查:
from django.db import connections
User.objects.all()
print(connections['default'].queries[-1]['sql'])
类似地,我们可以看到该sql的原始响应。在上述情况下,sql查询可能以csv(制表符分隔格式)返回原始结果。从那时起,django可以创建模型对象数组。
答案 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())