0

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

4

2 回答 2

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
于 2013-06-21T13:55:11.513 回答
1

您可以使用代表方法解析顺序的 mro()。

ClassName.mro()

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

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

于 2013-06-21T14:00:52.317 回答