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 последовательно: миграции не регистрируются.

Короче говоря: это не может работать.

Другие вопросы по тегам