2025-11-19 08:46:43 +00:00
|
|
|
from __future__ import annotations
|
|
|
|
|
|
2023-07-13 21:56:08 +00:00
|
|
|
from importlib.metadata import version
|
2022-11-21 15:50:34 +00:00
|
|
|
|
2025-11-19 08:46:43 +00:00
|
|
|
from django.apps import apps as django_apps
|
|
|
|
|
from django.conf import settings
|
|
|
|
|
from django.core.exceptions import ImproperlyConfigured
|
|
|
|
|
|
2023-07-13 21:56:08 +00:00
|
|
|
__version__ = version("django-auditlog")
|
2025-11-19 08:46:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_logentry_model():
|
2025-12-12 15:28:10 +00:00
|
|
|
model_string = getattr(settings, "AUDITLOG_LOGENTRY_MODEL", "auditlog.LogEntry")
|
2025-11-19 08:46:43 +00:00
|
|
|
try:
|
2025-12-12 15:28:10 +00:00
|
|
|
return django_apps.get_model(model_string, require_ready=False)
|
2025-11-19 08:46:43 +00:00
|
|
|
except ValueError:
|
|
|
|
|
raise ImproperlyConfigured(
|
|
|
|
|
"AUDITLOG_LOGENTRY_MODEL must be of the form 'app_label.model_name'"
|
|
|
|
|
)
|
|
|
|
|
except LookupError:
|
|
|
|
|
raise ImproperlyConfigured(
|
|
|
|
|
"AUDITLOG_LOGENTRY_MODEL refers to model '%s' that has not been installed"
|
2025-12-12 15:28:10 +00:00
|
|
|
% model_string
|
2025-11-19 08:46:43 +00:00
|
|
|
)
|