Django打印出在数据库中执行的语句问题

yipeiwu_com5年前Python基础

先给大家介绍下Django打印出在数据库中执行的语句

有时我们需要看models操作时对应的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 查看执行的sql语句方法

1、该方法只能查看select语句,对于其他更新保存的语句不能查看,会报错:

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

2、该方法会打印出所有执行过的sql语句

1、先导入connection

from django.db import connection

2、在python文件中打印

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

总结

以上所述是小编给大家介绍的Django打印出在数据库中执行的语句问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python快速排序的实现及运行时间比较

python快速排序的实现及运行时间比较

快速排序的基本思想:首先选定一个数组中的一个初始值,将数组中比该值小的放在左边,比该值大的放在右边,然后分别对左边的数组进行如上的操作,对右边的数组进行如上的操作。(分治+递归) 1.利...

Python 3.6打包成EXE可执行程序的实现

Python 3.6打包成EXE可执行程序的实现

1、下载pyinstaller python 3.6 已经自己安装了pip,所以只需要执行 pip install pyinstaller就可以了 2、打包程序 进入到你你需要打包的目...

Python运算符重载用法实例

本文实例讲述了Python运算符重载用法。分享给大家供大家参考。具体分析如下: python中,我们在定义类的时候,可以通过实现一些函数来实现重载运算符。 例子如下: # -*- c...

python 文件操作删除某行的实例

使用continue跳过本次写循环就可以了 #文本内容 Yesterday when I was young 昨日当我年少轻狂 The tasting of life was swe...

Python 访问限制 private public的详细介绍

 一、知识点 在一个模块中,我们可能会定义很多函数和变量。但有的函数和变量我们希望能给别人使用,有的函数和变量我们希望仅仅在模块内部使用,so? 我们可以通过定义该函...