首頁 > 資料庫 > mysql教程 > 如何在 Django 中查看和管理原始 SQL 查詢?

如何在 Django 中查看和管理原始 SQL 查詢?

Patricia Arquette
發布: 2025-01-18 13:42:11
原創
904 人瀏覽過

How Can I View and Manage Raw SQL Queries in Django?

在Django中查看原始SQL查詢

Django強大的ORM簡化了資料庫交互,但在某些情況下,檢查正在執行的原始SQL查詢非常有益。本文示範如何擷取和分析這些SQL語句以進行偵錯和最佳化。

取得SQL查詢

要存取Django產生的原始SQL查詢,有幾個方法:

  • django.db.connection.queries: 包含目前資料庫連線執行的SQL查詢清單:

    <code class="language-python">  from django.db import connection
      print(connection.queries)</code>
    登入後複製
  • Querysets: 每個Queryset都有一個query屬性,用於儲存它將執行的SQL查詢:

    <code class="language-python">  print(MyModel.objects.filter(name="my name").query)</code>
    登入後複製

注意: Django的查詢輸出不是有效的SQL。資料庫適配器會單獨插入參數,防止在沒有適當驗證的情況下直接執行。

重置查詢

要重置Django追蹤的查詢列表,請使用reset_queries函數:

<code class="language-python">from django.db import reset_queries
from django.db import connection

reset_queries()
# 在此处运行您的查询
print(connection.queries)
>>> []</code>
登入後複製

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

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