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

yipeiwu_com6年前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编写一个最基础的代码解释器的要点解析

一直以来都对编译器和解析器有着很大的兴趣,也很清楚一个编译器的概念和整体的框架,但是对于细节部分却不是很了解。我们编写的程序源代码实际上就是一串字符序列,编译器或者解释器可以直接理解并执...

python 检查是否为中文字符串的方法

python 检查是否为中文字符串的方法

【目标需求】 查看某一个字符串是否为中文字符串 【解决办法】 def check_contain_chinese(check_str): for ch in check_str:...

有趣的python小程序分享

有趣的python小程序分享

python可以简单优美,也很有趣,下面是收集的例子: 1.一句话开始一个http的文件服务器: $ python -m SimpleHTTPServer Serving HTTP on...

使用python检测手机QQ在线状态的脚本代码

复制代码 代码如下:import time,datetime    import urllib2   def chk_qq(qqnum)...

基于Django模板中的数字自增(详解)

基于Django模板中的数字自增(详解)

Django框架的模板提供了{% for %} 标签来进行循环 例如对集合进行循环是比较简单的 {% for row in v1 %} <div>{{row.name}}...