from django import db from django.apps import AppConfig from orchestra.core import administration from orchestra.utils.db import database_ready class ResourcesConfig(AppConfig): name = 'orchestra.contrib.resources' verbose_name = 'Resources' def ready(self): if database_ready(): from .models import create_resource_relation try: create_resource_relation() except db.utils.OperationalError: # Not ready afterall pass from .models import Resource, ResourceData, MonitorData administration.register(Resource, icon='gauge.png') administration.register(ResourceData, parent=Resource, icon='monitor.png') administration.register(MonitorData, parent=Resource, dashboard=False) from . import signals def reload_relations(self): from .admin import insert_resource_inlines from .models import create_resource_relation from .serializers import insert_resource_serializers insert_resource_inlines() insert_resource_serializers() create_resource_relation()