调试Django时打印SQL语句的日志代码实例

yipeiwu_com6年前Python基础

这篇文章主要介绍了调试Django时打印SQL语句的日志代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

设置里面添加如下代码:

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

自己写个方法

from django.db import connection
from django.db.models.query import QuerySet
def getSql(res):
  if type(res) == QuerySet:
    sql = str(res.query)
  else:
    queries = connection.queries
    sql = str(queries[-1].get('sql'), 'utf-8')
  print('\033[1;34m' + '=' * len(sql))
  print(sql)
  print('=' * len(sql) + '\033[0m')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

让python同时兼容python2和python3的8个技巧分享

python邮件列表里有人发表言论说“python3在10内都无法普及”。在我看来这样的观点有些过于悲观,python3和python2虽然不兼容,但他们之间差别并没很多人想像的那么大。...

在Python的Django框架中更新数据库数据的方法

先使用一些关键参数创建对象实例,如下: >>> p = Publisher(name='Apress', ... address='2855 Telegra...

python使用电子邮件模块smtplib的方法

python使用电子邮件模块smtplib的方法

Smptp类定义:smtplib.SMTP(host[,port[,local_hostname[,,timeout]]]),作为SMTP的构造函数,功能是与smtp服务器建立连接,在连...

python实现小世界网络生成

python实现小世界网络生成

没有使用igraph库哦 因为我还没学 小世界网络简介: 1998年, Watts和Strogatz 提出了小世界网络这一概念,并建立了WS模型。实证结果表明,大多数的真实网络都具有小世...

Python学习笔记之读取文件、OS模块、异常处理、with as语法示例

本文实例讲述了Python学习笔记之读取文件、OS模块、异常处理、with as语法。分享给大家供大家参考,具体如下: 文件读取 #读取文件 f = open("test.txt",...