调试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设计】。

相关文章

Python3+Appium安装使用教程

Python3+Appium安装使用教程

一、安装 我们知道selenium是桌面浏览器自动化操作工具(Web Browser Automation) appium是继承selenium自动化思想旨在使手机app操作也能自动化的...

解决pytorch DataLoader num_workers出现的问题

解决pytorch DataLoader num_workers出现的问题

最近在学pytorch,在使用数据分批训练时在导入数据是使用了 DataLoader 在参数 num_workers的设置上使程序出现运行没有任何响应的结果 ,看看代码 import...

python socket多线程通讯实例分析(聊天室)

本文实例讲述了python socket多线程通讯方法。分享给大家供大家参考,具体如下: #!/usr/bin/evn python """ 这是一个Socket+多进程的例子(聊天...

pycharm 在windows上编辑代码用linux执行配置的方法

pycharm 在windows上编辑代码用linux执行配置的方法

如下所示: 如上图所示点击右上角 ‘configure python interpreter' 弹窗如上图所示,选择项目, ‘project interpreter'  对应...

Python 实现使用dict 创建二维数据、DataFrame

Python 实现使用 dict 创建二维数据 dict 的 keys、values 分别作为二维数据的两列 In [16]: d = {1:'aa', 2:'bb', 3:'cc'...