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

Mary-Kate Olsen
發布: 2024-11-04 15:02:23
原創
984 人瀏覽過

How to View SQL Queries Executed by Django?

對 Django 的 SQL 查詢進行故障排除

本題研究檢視 Django 在查詢作業期間執行的 SQL 查詢的方法。

解決方案:

根據Django 文件常見問題解答,Django 提供了兩個檢查SQL 查詢的選項:

  • django.db.connection.queries
  • :此屬性包含Django 執行的所有SQL 查詢的清單。可以如下存取它:
<code class="python">from django.db import connection
print(connection.queries)</code>
登入後複製
  • Queryset.query
  • :每個queryset物件都有查詢屬性,用於保存要執行的查詢。以下是範例:
<code class="python">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)  # Returns an empty list</code>
登入後複製

以上是如何查看Django執行的SQL查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板