如何查看Django正在运行的原始SQL查询?

有没有一种方法可以显示执行查询时Django正在运行的SQL?

回答:

请参阅文档FAQ:“ 如何查看Django正在运行的原始SQL查询? ”

django.db.connection.queries 包含SQL查询的列表:

from django.db import connection

print(connection.queries)

查询集还具有包含要执行的查询的query属性:

print(MyModel.objects.filter(name="my name").query)

请注意,查询的输出不是有效的SQL,因为:

“ Django从未实际插入参数:它将查询和参数分别发送到数据库适配器,后者执行适当的操作。”

来自Django错误报告#17741。

因此,你不应将查询输出直接发送到数据库。

以上是 如何查看Django正在运行的原始SQL查询? 的全部内容, 来源链接: utcz.com/qa/416809.html

回到顶部