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

yipeiwu_com7年前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调用.NET库的方法步骤

开发背景是这样的:整个项目中使用很多台摩托罗拉的RFID读卡器,我要为这些读卡器写一个管理程序,判断是否有RFID标签进入或离开某个区域。用户提供给我的,除了设备,就是一个.net的动态...

解决nohup执行python程序log文件写入不及时的问题

问题 今天用nohup后台执行python程序,并将标准输出和错误输出重定向到一个log文件,但发现log文件隔好久才会更新,很煎熬。。。然而正常屏幕输出时候非常及时。 不确定程序是不是...

Windows下实现Python2和Python3两个版共存的方法

一直用的是python2,从python 2.3到python 2.7.6, 出于想了解python3的新特性,又安装了python3.3.3. 用了才发现蛮方便的。python的各个版...

详解Python中dict与set的使用

Python中类似于PHP的数组的结构有list,tuple,dict和set, 其中list, tuple和set的类似于PHP的索引数组, 而dict就类似于PHP的关联数组, di...

Python模拟自动存取款机的查询、存取款、修改密码等操作

Python模拟自动存取款机的查询、存取款、修改密码等操作

1.工作流程 2.模拟自动存取款机的操作 代码如下: import msvcrt, sys, os #定义用星号隐藏密码输入的函数 def psw_input(): li =...