Django - 如何确定模型类是否是抽象的

Nag*_*man 9 django django-models

如果django模型是抽象的,如下所示,有没有办法检查类以确定它是抽象的?

class MyModel(models.Model):
  class Meta:
    abstract = True
Run Code Online (Sandbox Code Playgroud)

我希望我可以检查MyModel.Meta.abstract,但根据Django文档:

Django确实对抽象基类的Meta类进行了一次调整:在安装Meta属性之前,它设置abstract = False.这意味着抽象基类的子项本身不会自动成为抽象类.

有任何想法吗?谢谢!

she*_*ats 14

您可以实例化MyModel,然后检查._meta.abstract.

所以在代码中:

m = MyModel()
print m._meta.abstract
Run Code Online (Sandbox Code Playgroud)