Django SQL 查詢可見性
要觀察Django 執行的原始SQL 查詢,您可以參考Django 文件的常見問題解答來了解此特定問題.
使用django.db.connection.queries
一種方法是利用django.db.connection.queries 屬性,它維護已執行的SQL 查詢的列表。要顯示它們:
<code class="python">from django.db import connection print(connection.queries)</code>
檢查查詢集查詢
查詢集還擁有一個包含要執行的查詢的查詢屬性。要存取它:
<code class="python">from django.db import models print(MyModel.objects.filter(name="my name").query)</code>
重要說明
請務必注意,查詢的輸出不是有效的 SQL。這是因為:
「Django 從未真正插入參數:它將查詢和參數分別發送到資料庫適配器,資料庫適配器執行適當的操作。」
重置查詢
如果您需要重置已執行查詢的列表,例如評估特定時間範圍內的查詢數量,請使用django.db 中的Reset_queries 函數:
<code class="python">from django.db import reset_queries from django.db import connection reset_queries() # Execute your query here print(connection.queries)</code>
以上是如何查看Django執行的原始SQL查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!