Django: В базе данных памяти django.db.backends.sqlite3 + SessionMiddleware?
Я использую Django 1.10.5 с py34.
Я хотел бы настроить базу данных так, чтобы все происходило в памяти:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': ':memory:',
}
Я также хочу переписать аутентификацию пользователя, как описано здесь, потому что логин и пароль должны быть загружены из моего собственного файла conf.ini.
После внесения изменений я получаю сообщение об ошибке:
OperationalError at /
no such table: django_session
During handling of the above exception ('SessionStore' object has no attribute '_session_cache'), another exception occurred:
Нельзя ли использовать промежуточное программное обеспечение django.contrib.sessions.middleware.SessionMiddleware с базой данных в памяти?
1 ответ
Решение
База данных в памяти уничтожается, как только завершается созданный ею процесс. Вы можете легко проверить это, выполнив ./manage.py migrate
а также ./manage.py showmigrations
последовательно: миграции не регистрируются.
Короче говоря: это не может работать.