溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Django如何打印出在數(shù)據(jù)庫(kù)中執(zhí)行的語句

發(fā)布時(shí)間:2021-07-24 14:19:59 來源:億速云 閱讀:410 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Django如何打印出在數(shù)據(jù)庫(kù)中執(zhí)行的語句的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

有時(shí)我們需要看models操作時(shí)對(duì)應(yīng)的SQL語句,

可以用如下方法查看---

在django project中的settings文件尾部添加如下代碼

LOGGING = {
  'version': 1,
  'disable_existing_loggers': False,
  'handlers': {
    'console': {
      'class': 'logging.StreamHandler',
    },
  },
  'loggers': {
    'django.db.backends': {
      'handlers': ['console'],
      'level': 'DEBUG' if DEBUG else 'INFO',
    },
  },
}

ps:Django 查看執(zhí)行的sql語句方法

1、該方法只能查看select語句,對(duì)于其他更新保存的語句不能查看,會(huì)報(bào)錯(cuò):

res = Province.objects.all()
print (res.query)
SELECT 'core_province'.'id', 'core_province'.'name', 'core_province'.'code' FROM 'core_province'

2、該方法會(huì)打印出所有執(zhí)行過的sql語句

1、先導(dǎo)入connection

from django.db import connection

2、在python文件中打印

print(connection.queries)
# 打印列表中的最后一條sql
# print(connection.queries[-1])

感謝各位的閱讀!關(guān)于“Django如何打印出在數(shù)據(jù)庫(kù)中執(zhí)行的語句”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI