Получите модели django в соответствии с их зависимостями

#django #django-models

Вопрос:

Я хочу добавить атрибут в мета-класс модели django. этот атрибут зависит, например, от related_models:

Приложение первое

 class Main(Models.Models):
    class Meta:
        abstract = True
class A(Main):
    #model_fields_here
class B(Main):
    a= models.ForeignKey(A,on_delete = Models.CASCAD)
    #models_fields_here
class C(Main):
    b = models.ForeignKey(b,on_delete = Models.CASCAD)
 

Приложение второе

 class A1(Main):
    #model_fields_here
class B1(Main):
    a= models.ForeignKey(A,on_delete = Models.CASCAD)
    #models_fields_here
class C1(Main):
    b1 = models.ForeignKey(B1,on_delete = Models.CASCAD)
 

Я хочу получить таких моделей, как эта:

 models = [A,A1,B,C,B1,C1]
 

это означает, что я хочу получить список целых моделей django, отсортированных по их зависимостям.

Я пытаюсь с этим, но он игнорирует зависимости моделей django:

 import django.apps
django.apps.apps.get_models()
 
 

Комментарии:

1. Эта проблема может быть решена с помощью нескольких различных шаблонов моделей данных. Вы смотрели на универсальный иностранный ключ Django? Это позволяет использовать различные модели. Кроме того, вы можете рассмотреть возможность хранения данных сортировки в одной родительской таблице, которая содержит ключи ко всем различным типам подтаблиц.