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

问题描述 投票:0回答:1

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

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

编辑:实际问题..

Tastypie 访问继承模型中的字段

我需要在元中列出家长课程。

class Abc(A,B,C):

   class Meta:
       list_of_fields_of_parents = A.fields + B.fields + C.fields
django inheritance
1个回答
0
投票

您可以使用

Abc.__bases__
。例如:

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

因为这不适用于

Meta
inside
Abc
类,您可以将基类存储在列表中以保持干燥:

abc_bases = [A, B, C]

class Abc(*bases):
    class Meta:
        list_of_fields_of_parents = [b.fields for b in abc_bases]
© www.soinside.com 2019 - 2024. All rights reserved.