diff --git a/easyaudit/settings.py b/easyaudit/settings.py index e5467dd..d8bb047 100644 --- a/easyaudit/settings.py +++ b/easyaudit/settings.py @@ -5,7 +5,6 @@ from django.conf import settings from django.contrib.auth.models import Permission from django.contrib.contenttypes.models import ContentType -from django.contrib.sessions.models import Session from django.db.migrations import Migration from django.db.migrations.recorder import MigrationRecorder @@ -48,7 +47,6 @@ def get_model_list(class_list): LoginEvent, RequestEvent, Migration, - Session, Permission, ContentType, MigrationRecorder.Migration, @@ -60,6 +58,12 @@ def get_model_list(class_list): UNREGISTERED_CLASSES += [LogEntry] +# Import and unregister Session class only if Django Sessions app is installed +if apps.is_installed("django.contrib.sessions"): + from django.contrib.sessions.models import Session + + UNREGISTERED_CLASSES += [Session] + UNREGISTERED_CLASSES = getattr( settings, "DJANGO_EASY_AUDIT_UNREGISTERED_CLASSES_DEFAULT", UNREGISTERED_CLASSES ) diff --git a/easyaudit/signals/request_signals.py b/easyaudit/signals/request_signals.py index 04fec60..f278a89 100644 --- a/easyaudit/signals/request_signals.py +++ b/easyaudit/signals/request_signals.py @@ -4,7 +4,7 @@ from django.conf import settings from django.contrib.auth import SESSION_KEY as AUTH_SESSION_KEY from django.contrib.auth import get_user_model -from django.contrib.sessions.models import Session +from django.core.exceptions import ObjectDoesNotExist from django.core.signals import request_started from django.http.cookie import SimpleCookie from django.utils import timezone @@ -75,7 +75,7 @@ def request_started_handler(sender, **kwargs): try: session = session_engine.SessionStore(session_key=session_id).load() - except Session.DoesNotExist: + except ObjectDoesNotExist: session = None if session and AUTH_SESSION_KEY in session: