我們使用Django ORM使查詢數據庫變得非常容易,但是如果我們知道幕后發生了什么或對某些Django查詢執行了什么SQL查詢,對我們提升查詢性能幫助會非常的大,以下是一些有用的方法,能幫助我們了解幕后的SQL語句是什么。
1.使用queryset的查詢屬性
這是在Django中查找原始SQL查詢的最簡單方法。
》》》queryset = Organization.objects.all()》》》print(queryset.query) Output:SELECT “app_organization”。“id”, “app_organization”。“name”, “app_organization”。“created”,“app_organization”。“updated”“ FROM ”app_organization“》》》str(queryset.query)Output:‘SELECT ”app_organization“。”id“, ”app_organization“。”name“, ”app_organization“。”created“, ”app_organization“。”updated“ FROM ”app_organization“’
2.Django connection
這種方法比前一種方法提供的信息更多,因為我們可以找到原始SQL語句以及執行該語句所需的時間(以秒為單位)。 需要確保在settings.py文件中將此設置為DEBUG = True。
》》》from django.db import connection,reset_queries》》》Organization.objects.all()》》》connection.queriesOutput:[{‘sql’: ‘SELECT ”app_organization“。”id“, ”app_organization“。”name“, ”app_organization“。”created“, ”app_organization“。”updated“ FROM ”app_organization“ LIMIT 21’,‘time’: ‘0.001’}]》》》reset_queries()Output:[]
注意:reset_queries()可隨時用于手動清除查詢列表。
3.Django調試工具欄 Django Debug Toolbar是一組可配置的面板,顯示有關當前請求/響應的各種調試信息,單擊該工具時,將顯示有關面板內容的更多詳細信息,包括所有SQL查詢。
要在django項目中設置此工具欄,首先需要安裝:
pip install django-debug-toolbar
然后在settings.py文件中設置DEBUG = True。
將“ debug_toolbar”添加到INSTALLED_APPS設置中。
INSTALLED_APPS = [ ‘debug_toolbar’,]
將調試工具欄的URL添加到項目的URLconf中。
import debug_toolbarfrom django.conf import settingsfrom django.urls import include, pathurlpatterns = [ 。。。 path(‘__debug__/’, include(debug_toolbar.urls)),]
調試工具欄主要在中間件中實現,應盡可能早地放在列表中。在settings.py模塊中啟用它,如下所示:
MIDDLEWARE = [# 。。。 ‘debug_toolbar.middleware.DebugToolbarMiddleware’,# 。。。]
限制訪問的IP地址,在INTERNAL_IPS設置的IP訪問,才會顯示“調試工具欄”。例如:對于本地開發,必須在INTERNAL_IPS中添加“ 127.0.0.1”。
INTERNAL_IPS = [# 。。。 ‘127.0.0.1’,# 。。。]
文章轉載:Python運維技術
(版權歸原作者所有,侵刪)
編輯:jq
-
IP
+關注
關注
5文章
1791瀏覽量
151677 -
SQL
+關注
關注
1文章
782瀏覽量
44882 -
URL
+關注
關注
0文章
139瀏覽量
15805 -
Django
+關注
關注
0文章
45瀏覽量
10594
原文標題:為Django查詢生成原始SQL查詢的3種方法
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
IP地址查詢技術

dbForge Studio For SQL Server:用于有效開發的最佳SQL Server集成開發環境
淺談SQL優化小技巧
這些ipv6公網地址查詢方法,一定要知道!
SQL與NoSQL的區別
色環電阻查詢器的使用方法
在查詢聲卡芯片 PCM2902C 顯示無法查詢到芯片
根據ip地址查網頁怎么查詢?

常見的IP地址查詢技術

評論