Lý do của hành vi đó là kết nối liên tục với cơ sở dữ liệu, được giới thiệu trong Django 1.6.
Để tránh lỗi hết thời gian kết nối, bạn nên đặt CONN_MAX_AGE trong settings.py thành giá trị nhỏ hơn wait_timeout trong cấu hình MySQL (my.cnf ). Trong trường hợp đó, Django phát hiện kết nối đó cần được mở lại sớm hơn so với MySQL ném nó. Giá trị mặc định cho MySQL 5.7 là 28800 giây.
settings.py :
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'CONN_MAX_AGE': 3600,
<other params here>
}
}
Tài liệu: https://docs.djangoproject.com/ vi / 1.7 / ref / settings / # conn-max-age
my.cnf :
wait_timeout = 28800
Tài liệu: https://dev.mysql .com / doc / refman / 5.7 / en / server-system-variable.html # sysvar_wait_timeout