禁用“记住每个SQL查询”(Django)

时间:2019-03-15 14:50:54

标签: django django-orm

我知道这一点:

  

同样重要的是要记住,在启用DEBUG的情况下运行时,Django将记住它执行的每个SQL查询。当您进行调试时,这很有用,但会迅速消耗生产服务器上的内存。

来源:https://docs.djangoproject.com/en/dev/ref/settings/#debug

我有一个进行压力测试的python脚本。

该脚本使用Django测试运行器。

它在循环中使用ORM,每次迭代都会产生越来越多的流量。

如果我的脚本可以在任何环境中运行,那将是很好的。

我不希望其他开发人员在执行此脚本之前强行摆弄他们的设置(将DEBUG配置为False)。

是否可以禁用“记住每个SQL查询”的特定功能?

1 个答案:

答案 0 :(得分:0)

您可以尝试修补猴子BaseDatabaseWrapper来将queries_limit设置为零。否则,您可以让脚本验证debug设置为False,并且如果他们尝试在debug设置为True的情况下使用它,则显示一条消息,通知他们以DEBUG=False python manage.py script运行它。