2021-12-22 18:03:21 +00:00
|
|
|
"""Django application setup."""
|
2024-04-15 17:43:22 +00:00
|
|
|
|
2015-05-13 20:08:35 +00:00
|
|
|
from django.apps import AppConfig
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CategoriesConfig(AppConfig):
|
2021-12-22 18:03:21 +00:00
|
|
|
"""Application configuration for categories."""
|
|
|
|
|
|
2021-12-05 14:34:46 +00:00
|
|
|
name = "categories"
|
2015-05-13 20:08:35 +00:00
|
|
|
verbose_name = "Categories"
|
|
|
|
|
|
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
|
|
|
super(CategoriesConfig, self).__init__(*args, **kwargs)
|
|
|
|
|
from django.db.models.signals import class_prepared
|
2021-12-05 14:34:46 +00:00
|
|
|
|
2015-05-13 20:08:35 +00:00
|
|
|
class_prepared.connect(handle_class_prepared)
|
|
|
|
|
|
|
|
|
|
def ready(self):
|
2021-12-22 18:03:21 +00:00
|
|
|
"""Migrate the app after it is ready."""
|
2015-05-13 20:08:35 +00:00
|
|
|
from django.db.models.signals import post_migrate
|
2021-12-05 14:34:46 +00:00
|
|
|
|
2015-05-13 20:08:35 +00:00
|
|
|
from .migration import migrate_app
|
|
|
|
|
|
|
|
|
|
post_migrate.connect(migrate_app)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def handle_class_prepared(sender, **kwargs):
|
|
|
|
|
"""
|
2021-12-22 18:03:21 +00:00
|
|
|
See if this class needs registering of fields.
|
2015-05-13 20:08:35 +00:00
|
|
|
"""
|
|
|
|
|
from .registration import registry
|
2021-12-05 14:34:46 +00:00
|
|
|
from .settings import FK_REGISTRY, M2M_REGISTRY
|
|
|
|
|
|
2015-05-13 20:08:35 +00:00
|
|
|
sender_app = sender._meta.app_label
|
|
|
|
|
sender_name = sender._meta.model_name
|
|
|
|
|
|
2016-02-10 17:47:30 +00:00
|
|
|
for key, val in list(FK_REGISTRY.items()):
|
2021-12-05 14:34:46 +00:00
|
|
|
app_name, model_name = key.split(".")
|
2015-05-13 20:08:35 +00:00
|
|
|
if app_name == sender_app and sender_name == model_name:
|
2021-12-05 14:34:46 +00:00
|
|
|
registry.register_model(app_name, sender, "ForeignKey", val)
|
2015-05-13 20:08:35 +00:00
|
|
|
|
2016-02-10 17:47:30 +00:00
|
|
|
for key, val in list(M2M_REGISTRY.items()):
|
2021-12-05 14:34:46 +00:00
|
|
|
app_name, model_name = key.split(".")
|
2015-05-13 20:08:35 +00:00
|
|
|
if app_name == sender_app and sender_name == model_name:
|
2021-12-05 14:34:46 +00:00
|
|
|
registry.register_model(app_name, sender, "ManyToManyField", val)
|