每个python \ django进程单个MySQL会话

时间:2011-11-20 12:29:18

标签: mysql django session session-variables

如果在python \ _django程序开始时我加载了一个执行原始自定义sql命令的模块,例如

from django.db import connection
cursor = connection.cursor()
cursor.execute("SET SESSION wait_timeout=2147483")

因此更改会话变量,是否会保留所有其余的程序运行?即与同一个python \ _django进程中运行的其余代码在同一个MySQL会话中的模块?

1 个答案:

答案 0 :(得分:7)

不可靠。

执行此操作的正确方法是在数据库设置的init_command字典中使用OPTIONS

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        ...
        'OPTIONS': {
            'init_command': '"SET SESSION wait_timeout=2147483',
        },
    }
}