Django project looking for "attribute '_session_cache'"

I'm not sure why I started to get this error, it involved an upgrade though. I just deleted all the sessions and after logging back in all was well.

# from the shell but equivalent sql would work fine too
from django.contrib.sessions.models import Session
Session.objects.all().delete()

The error AttributeError: 'SessionStore' object has no attribute '_session_cache' can stem from the database not having a django_session table. However, since you are not using a table, you would need to make sure that you don't have the 'django.contrib.sessions.middleware.SessionMiddleware' in your MIDDLEWARE_CLASSES in the project's settings file. If it is in there, it will look for a database table which stores the sessions, causing the above error.


For future Googlers - I ran into this issue and the above solutions did not work for me. What did work for me was clearing/deleting my cookies in Chrome for the 127.0.0.1 URL. So go to Settings or press CMD+, then Cookies and other site data, then find 127.0.0.1 or localhost and delete those cookies. Refresh the local dev host page and the error should be gone. This has something to do with a corrupted session / cookie file.


Here is what worked for me. Since there is no databases in your application. Admin page looks for the database be it default. So first lets create the default databases.

Shut down your servers and run

python manage.py makemigrations
python manage.py migrate

Now create the admin or superuser for your application. Fill username and password.

python manage.py createsuperuser

Now restart your server and go the admin page

python manage.py runserver