Jon*_*han 4 mysql django session session-variables
如果在python\_django程序的开头我加载了一个执行原始自定义sql命令的模块,如
from django.db import connection
cursor = connection.cursor()
cursor.execute("SET SESSION wait_timeout=2147483")
Run Code Online (Sandbox Code Playgroud)
因此改变一个会话变量,它将保持所有其余的程序运行?ie是与同一个python\django进程中运行的其余代码在同一MySQL会话中的模块?
不可靠.
执行此操作的正确方法是在数据库设置init_command的OPTIONS字典中使用:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
...
'OPTIONS': {
'init_command': '"SET SESSION wait_timeout=2147483',
},
}
}
Run Code Online (Sandbox Code Playgroud)