回答

收藏

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

技术问答 技术问答 165 人阅读 | 0 人回复 | 2023-09-13

有没有办法在执行查询时显示执行查询?Django正在运行的SQL?
) \9 |! d' w% ^8 y/ e                                                                . X9 p9 O" f& x6 s; x6 b5 [( M
    解决方案:                                                                4 p# F: G$ Q1 d  @5 I
                                                                请参阅文档FAQ:“如何查看Django正在运行的原始SQL查询? ”
4 p4 \5 H) j+ S. q( tdjango.db.connection.queries 包含SQL查询列表:* C" j3 x9 J: I: M
from django.db import connectionprint(connection.queries)查询集还包括要执行的查询。query属性:6 z" F7 W8 O9 d3 Z$ U3 \
print(MyModel.objects.filter(name="my name").query)请注意,查询输出不有效SQL,因为:) x" L; R, z  [- F
“ Django实际上,从未插入过参数:它将查询和参数分别发送到数据库适配器,后者进行适当的操作。# W; M+ H0 G. W8 Y; q! H
来自Django错误报告#17741。0 t5 S  X. T: \+ w) V! P( ~
因此,您不应直接将查询输出发送到数据库。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则