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
[]

相关链接

Django官方文档


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM