获取模型的AbstractClass

时间:2013-06-21 12:58:30

标签: django django-models

我怎样才能在Django中获得Model的AbstractClass? 我试着用类型来做,但是类型给了我django的BaseModel类或者模型本身的类型。

2 个答案:

答案 0 :(得分:1)

def go_for_the_bases(model):
    while hasattr(model, '_meta'):
        model = model.__base__
        if hasattr(model, '_meta') and model._meta.abstract == True:
            yield model

答案 1 :(得分:1)

您可以使用mro()代表Method Resolution Order。

ClassName.mro()

给出了类的元组,它的基数,它的基数,......等等,直到我们到达对象。

你可以遍历它并检查className._meta.abstract是否为真,直到你到达抽象类。