diff --git a/djangoldp/admin.py b/djangoldp/admin.py index 13370eb9c2d30adf23697b66dade78891f3becf6..b385c6c7e6f45f1b24932d0ffbd808d0c8e0fff0 100644 --- a/djangoldp/admin.py +++ b/djangoldp/admin.py @@ -1,4 +1,20 @@ +from importlib import import_module + +from django.conf import settings from django.contrib import admin -from .models import LDPSource +from .models import LDPSource, Model + +for package in settings.DJANGOLDP_PACKAGES: + try: + import_module('{}.models'.format(package)) + except ModuleNotFoundError: + pass + +model_classes = {cls.__name__: cls for cls in Model.__subclasses__()} + +for class_name in model_classes: + model_class = model_classes[class_name] + if not admin.site.is_registered(model_class): + admin.site.register(model_class) admin.site.register(LDPSource)