2024-10-01 13:38:30 发布
网友
Possible Duplicate:get python class parent(s)
我有一个:
class Animal(models.Model): pass class Cat(Aminal): pass class StreetCat(Cat): pass
如何找出模型继承的模型?在
您可以通过__base__获得python中的直接超类
__base__
>>> StreetCat.__base__ is Cat >>> True
如果您有多个基类,__bases__将得到所有父类的元组class Foo(A, B)
__bases__
class Foo(A, B)
由于OP而更新:以下django方法不检索抽象基类,因为从技术上讲,这些方法是存储外键的内部使用方法,这些外键将每个继承的模型绑定到它们的父级。请注意!在
python继承的一些方法也间接地为一些超类的方法提供了直接的方法。在
InheritedClass.parents是所有父项的有序字典,因此如果需要,可以使用以下方法获取最上面的父项:
InheritedClass.parents
>>> StreetCat._meta.parents.keys()[-1]
您还可以使用与django无关的方法,例如
>>> StreetCat.__mro__[-3] # once you know that BaseModel is an Object, and since all defined models subclass # the BaseModel, [-3] is the first class that subclasses models.Model
您可以通过
__base__
获得python中的直接超类如果您有多个基类,
__bases__
将得到所有父类的元组class Foo(A, B)
由于OP而更新:以下django方法不检索抽象基类,因为从技术上讲,这些方法是存储外键的内部使用方法,这些外键将每个继承的模型绑定到它们的父级。请注意!在
python继承的一些方法也间接地为一些超类的方法提供了直接的方法。在
^{pr2}$InheritedClass.parents
是所有父项的有序字典,因此如果需要,可以使用以下方法获取最上面的父项:您还可以使用与django无关的方法,例如
相关问题 更多 >
编程相关推荐