1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Improve the logic for gathering models from all apps

This commit is contained in:
Jeremy Stretch
2019-04-17 14:33:26 -04:00
parent 2f3c39295c
commit 92a450e59c

View File

@ -6,7 +6,6 @@ from django import get_version
from django.apps import apps from django.apps import apps
from django.conf import settings from django.conf import settings
from django.core.management.base import BaseCommand from django.core.management.base import BaseCommand
from django.db.models import Model
APPS = ['circuits', 'dcim', 'extras', 'ipam', 'secrets', 'tenancy', 'users', 'virtualization'] APPS = ['circuits', 'dcim', 'extras', 'ipam', 'secrets', 'tenancy', 'users', 'virtualization']
@ -38,16 +37,10 @@ class Command(BaseCommand):
for app in APPS: for app in APPS:
self.django_models[app] = [] self.django_models[app] = []
# Models # Load models from each app
app_models = sys.modules['{}.models'.format(app)] for model in apps.get_app_config(app).get_models():
for name in dir(app_models): namespace[model.__name__] = model
model = getattr(app_models, name) self.django_models[app].append(model.__name__)
try:
if issubclass(model, Model) and model._meta.app_label == app:
namespace[name] = model
self.django_models[app].append(name)
except TypeError:
pass
# Constants # Constants
try: try: