diff --git a/auditlog/registry.py b/auditlog/registry.py index a7b26a2..998105f 100644 --- a/auditlog/registry.py +++ b/auditlog/registry.py @@ -261,7 +261,13 @@ class AuditlogModelRegistry: self.unregister(model_class) self.register(model_class) elif isinstance(model, dict): - model["model"] = self._get_model_classes(model["model"])[0] + appmodel = self._get_model_classes(model["model"]) + if not appmodel: + raise AuditLogRegistrationError( + f"An error was encountered while registering model '{model['model']}' - " + "make sure the app is registered correctly." + ) + model["model"] = appmodel[0] self.unregister(model["model"]) self.register(**model) diff --git a/auditlog_tests/tests.py b/auditlog_tests/tests.py index feb5490..dbf8ca9 100644 --- a/auditlog_tests/tests.py +++ b/auditlog_tests/tests.py @@ -1158,6 +1158,18 @@ class RegisterModelSettingsTest(TestCase): ): self.test_auditlog.register_from_settings() + with override_settings( + AUDITLOG_INCLUDE_TRACKING_MODELS=({"model": "notanapp.test"},) + ): + with self.assertRaisesMessage( + AuditLogRegistrationError, + ( + "An error was encountered while registering model 'notanapp.test'" + " - make sure the app is registered correctly." + ), + ): + self.test_auditlog.register_from_settings() + with override_settings(AUDITLOG_DISABLE_ON_RAW_SAVE="bad value"): with self.assertRaisesMessage( TypeError, "Setting 'AUDITLOG_DISABLE_ON_RAW_SAVE' must be a boolean"