首页 > 解决方案 > 如何检查 Django 对数据库的请求?

问题描述

我有一个在 EC2 实例上运行的管理命令,它在尝试执行 ORM 查询时失败,如下所示:

  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 53, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 899, in execute_sql
    raise original_exception
OperationalError: SSL connection has been closed unexpectedly

django-admin shell_plus我可以从同一个实例上很好地连接到同一个数据库。

为了诊断这一点,我想检查 Django 在每种情况下发出的连接请求的参数,看看有什么不同,但是在浏览了 Django 源代码之后,似乎最好问一下如何而不是迷失在几个小时的杂草:)

也欢迎使用其他诊断策略!

标签: djangodatabase-connection

解决方案


根据有关记录数据库查询的文档,您应该查看数据库日志文件:

此日志不包括框架级初始化(例如 SET TIMEZONE)或事务管理查询(例如 BEGIN、COMMIT 和 ROLLBACK)。如果您希望查看所有数据库查询,请打开数据库中的查询日志记录。


推荐阅读