我怎样才能在Django中获得Model的AbstractClass? 我试着用类型来做,但是类型给了我django的BaseModel类或者模型本身的类型。
答案 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是否为真,直到你到达抽象类。