Django查看ORM实际执行的SQL
如何查看Django ORM实际执行的原始SQL查询
确保Django的DEBUG配置为True
,执行命令(可以在shell中执行)
:
>>> from django.db import connection >>> connection.queries [{'sql': 'SELECT polls_polls.id, polls_polls.question, polls_polls.pub_date FROM polls_polls', 'time': '0.002'}]
如果DEBUG为False
,则connection.queries
为空[]
。
connection.queries
包含所有的SQL语句INSERT,UPDATE,SELECT等。每次您的应用访问数据库试,都会记录查询。
如果使用多个数据库
,则可以在connections
字典中的每个成员上使用相同的接口:
>>> from django.db import connections >>> connections['my_db_alias'].queries
如果您需要手动的清除查询列表
,则需要执行reset_queries函数
:
>>> from django.db import reset_queries >>> reset_queries() >>> connection.queries []
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏