从django的内部Meta中获取所有父母类?

时间:2013-12-25 10:41:10

标签: django inheritance meta

我想知道是否可以从内部的Meta类中获取所有父类。

class Abc(A,B,C):
   class Meta:
     # I wanna know A,B,C without explicitly listing them again. 
     # something like self.parents()

修改:实际问题..

Tastypie accessing fields from inherited models

我需要在meta中列出父类。

class Abc(A,B,C):

   class Meta:
       list_of_fields_of_parents = A.fields + B.fields + C.fields

1 个答案:

答案 0 :(得分:0)

您可以使用Abc.__bases__。例如:

class Meta:
    list_of_fields_of_parents = [b.fields for b in Abc.__bases__]

因为这不适用于Meta类中的Abc ,所以您可以将基类存储在列表中以保持干净:

abc_bases = [A, B, C]

class Abc(*bases):
    class Meta:
        list_of_fields_of_parents = [b.fields for b in abc_bases]