2011-11-20 2 views
4

나는 따라서 세션 변수를 변경단일 MySQL의 세션

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

등의 원료 사용자 지정 SQL 명령을 실행하는 모듈을로드 파이썬 \의 장고 프로그램의 시작하는 경우 것 프로그램의 나머지 부분은 모두 실행됩니다. 즉 동일한 Python \ django 프로세스에서 실행되는 나머지 코드와 동일한 MySQL 세션의 모듈입니까?

답변

7

신뢰할 수 없습니다.

이 작업을 수행하는 올바른 방법은 DB 설정의 OPTIONS 사전에서 init_command을 사용하는 것입니다

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

다니엘, 당신은 왜 "하지 안정적으로"정교한 수 있을까? – Jonathan

+0

Django에는 '시작'이라는 개념이 실제로 없기 때문에. 새로운 프로세스는 서버 자체에 의해 언제든지 시작될 수 있으며, 실제로 그 프로세스에 연결될 고리는 없습니다. –

관련 문제