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

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会话中的模块?

Dan*_*man 7

不可靠.

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

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        ...
        'OPTIONS': {
            'init_command': '"SET SESSION wait_timeout=2147483',
        },
    }
}
Run Code Online (Sandbox Code Playgroud)