首頁  >  文章  >  後端開發  >  如何查看Django執行的原始SQL查詢?

如何查看Django執行的原始SQL查詢?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-01 21:19:02667瀏覽

How Do I View the Raw SQL Queries Executed by Django?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn