如果在python \ _django程序开始时我加载了一个执行原始自定义sql命令的模块,例如
from django.db import connection
cursor = connection.cursor()
cursor.execute("SET SESSION wait_timeout=2147483")
因此更改会话变量,是否会保留所有其余的程序运行?即与同一个python \ _django进程中运行的其余代码在同一个MySQL会话中的模块?
答案 0 :(得分:7)
不可靠。
执行此操作的正确方法是在数据库设置的init_command
字典中使用OPTIONS
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
...
'OPTIONS': {
'init_command': '"SET SESSION wait_timeout=2147483',
},
}
}