【发布时间】:2011-01-23 18:08:30
【问题描述】:
我在非 Django 应用程序中使用 Django ORM,并希望打开 DEBUG 设置,以便我可以定期记录我的查询。所以我有一些模糊的东西:
from django.db import connection
def thread_main_loop():
while keep_going:
connection.queries[:] = []
do_something()
some_logging_function(connection.queries)
我想在我的生产服务器上执行此操作,但文档警告说,“同样重要的是要记住,在打开 DEBUG 的情况下运行时,Django 会记住它执行的每个 SQL 查询。这在以下情况下很有用您正在调试,但在生产服务器上,它会迅速消耗内存。”
因为connection.queries列表每次通过每个线程的主循环都会被清除,我相信Django查询日志不会导致我的应用程序消耗内存。它是否正确?如果我只使用 Django ORM,还有其他理由不在生产环境中打开 DEBUG 吗?
【问题讨论】: