Django shell调试models输出的SQL语句方法

作者:pushiqiang 时间:2022-07-13 00:59:50 

在settings.py里,配置如下logging:


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

使用效果:


$ python manage.py shell

In [1]: from test.models import A

In [2]: A.objects.all()
(0.001) SELECT "app1_a"."id", "app1_a"."name" FROM "app1_a" LIMIT 21; args=()
[<A: A object>]

在shell命令行的环境下,可以使用 django-exension's shell_plus 命令并打开 --print-sql 选项。

python manage.py shell_plus --print-sql


>>> Author.objects.all()
SELECT "library_author"."id", "library_author"."name" FROM "library_author" LIMIT 21
Execution time: 0.001393s [Database: default]
<QuerySet [<Author: Author object>]>

django提供的内置记录器

django 在Django层次结构中的所有消息记录器。没有使用此名称发布消息,而是使用下面的记录器之一。

django.request 与请求处理相关的日志消息。5xx响应被提升为错误消息;4xx响应被提升为警告消息。

django.server 与由RunServer命令调用的服务器所接收的请求的处理相关的日志消息。HTTP 5XX响应被记录为错误消息,4XX响应被记录为警告消息,其他一切都被记录为INFO。

django.template 与模板呈现相关的日志消息

django.db.backends 有关代码与数据库交互的消息。例如,请求执行的每个应用程序级SQL语句都在调试级别记录到此记录器。

来源:https://blog.csdn.net/pushiqiang/article/details/79571169

标签:Django,shell,models,SQL语句
0
投稿

猜你喜欢

  • django写用户登录判定并跳转制定页面的实例

    2023-10-04 01:18:40
  • 改进SQL Server数据库系统安全五步走

    2009-01-20 11:47:00
  • SqlServer 2005 T-SQL Query 学习笔记(2)

    2024-01-20 20:21:51
  • MySQL中隐藏空间问题浅析

    2009-11-24 09:04:00
  • 利用 Monkey 命令操作屏幕快速滑动

    2021-03-06 11:37:50
  • python取均匀不重复的随机数方式

    2022-07-06 15:28:02
  • 蚁群算法js版

    2008-10-08 10:15:00
  • 浅谈python正则的常用方法 覆盖范围70%以上

    2022-05-18 21:01:13
  • 如何基于Python实现自动扫雷

    2023-12-13 15:51:08
  • opencv与numpy的图像基本操作

    2022-06-20 12:20:10
  • python将秒数转化为时间格式的实例

    2023-09-24 12:10:22
  • 前端开发工具nvim替带VSCode的安装配置

    2023-02-08 19:29:33
  • python为QT程序添加图标的方法详解

    2021-05-16 15:56:08
  • 【总结】ASP如何获取访客真实的IP地址

    2007-08-15 13:43:00
  • Go 处理大数组使用 for range 和 for 循环的区别

    2024-04-28 09:18:59
  • 浅析python中特殊文件和特殊函数

    2023-01-22 23:26:26
  • 如何编写Go语言中间件的实例教程

    2024-04-25 15:29:05
  • python用正则表达式提取/匹配中文汉字

    2021-06-12 23:45:50
  • 微信公众号可通过现金红包接口发放微信支付现金红包(附开发教程)

    2023-06-28 10:24:42
  • 使用Python编写一个最基础的代码解释器的要点解析

    2023-07-16 11:47:22
  • asp之家 网络编程 m.aspxhome.com