亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

如何在django shell中查看執(zhí)行的數(shù)據庫sql語句?
高洛峰
高洛峰 2016-11-14 11:33:00
0
2
1469

使用python manage.py shell進入 shell,查詢語句People.objects.get(id=11),經過什么樣設置可以在shell中同時輸出執(zhí)行了哪些sql語句?

我的 Django 版本 1.8.10

老版本的 Django 可以使用以下的方法打印執(zhí)行的 sql 語句,新版本貌似無效了。

import logging
l = logging.getLogger('django.db.backends')
l.setLevel(logging.DEBUG)
l.addHandler(logging.StreamHandler())


高洛峰
高洛峰

擁有18年軟件開發(fā)和IT教學經驗。曾任多家上市公司技術總監(jiān)、架構師、項目經理、高級軟件工程師等職務。 網絡人氣名人講師,...

reply all(2)
學霸

官方文檔的回答 How can I see the raw SQL queries Django is running?

>>>?from?django.db?import?connection
>>>?connection.queries

通過這個方式,可以看所有的數(shù)據庫查詢,并不是很直觀。

還有一種方式,

?>>>?a?=?Blog.objects.filter(entry__authors__name__isnull=True)
?>>>?print?a.query
?>>>?Blog.objects.filter(entry__authors__name__isnull=True).query.sql_with_params()


三叔

說個比較簡單的方式吧,比如下面的代碼:

>>>?from?django.contrib.auth.admin?import?User
>>>?User.objects.all()
>>>?u=User.objects.all()
>>>?print?u.query
SELECT?"auth_user"."id",?"auth_user"."password",?"auth_user"."last_login",?"auth_user"."is_superuser",?"auth_user"."username",?"auth_user"."first_name",?"auth_user"."last_name",?"auth_user"."email",?"auth_user"."is_staff",?"auth_user"."is_active",?"auth_user"."date_joined"?FROM?"auth_user"

在這里直接將查詢結果調用其query屬性就可以獲取其執(zhí)行的結果了,只是你提供的那種方式是不想手動進行這么繁瑣的操作而已

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template