Get django models according to its dependencies

I want to add attribute to django model meta class. this attribute is depends on related_models for example:

App one

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)

App two

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)

I want to get models like this:

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

means I want to get the list of whole django models sorting by its dependencies.

I try with this but it ignore django models dependencies:

import django.apps
django.apps.apps.get_models()
 
Back to Top