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使用BeautifulSoup分析网页信息的方法

本文实例讲述了python使用BeautifulSoup分析网页信息的方法。分享给大家供大家参考。具体如下: 这段python代码查找网页上的所有链接,分析所有的span标签,并查找cl...

python format 格式化输出方法

0、前言 在python2.7及以上的版本,str.format()的方式为格式化提供了非常大的便利。与之前的%型格式化字符串相比,他显得更为方便与优越。下面我们就来看看format的具...

Python网络编程基于多线程实现多用户全双工聊天功能示例

本文实例讲述了Python网络编程基于多线程实现多用户全双工聊天功能。分享给大家供大家参考,具体如下: 在前面一篇《Python网络编程使用select实现socket全双工异步通信功能...

深入讲解Python函数中参数的使用及默认参数的陷阱

C++里函数可以设置缺省参数,Java不可以,只能通过重载的方式来实现,python里也可以设置默认参数,最大的好处就是降低函数难度,函数的定义只有一个,并且python是动态语言,在同...

Python使用itertools模块实现排列组合功能示例

本文实例讲述了Python使用itertools模块实现排列组合功能。分享给大家供大家参考,具体如下: 一、笛卡尔积:itertools.product(*iterables[, rep...