我怎样才能在 Django 中获得模型的 AbstractClass?我试图用 type 来做,但是 type 给了我 django 的 BaseModel 类或模型本身的类型。
问问题
27 次
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 回答