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