Получить все классы родителей из внутренней Меты в Джанго?

Интересно, возможно ли получить все родительские классы из внутреннего Мета-класса?

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

1 ответ

Ты можешь использовать 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]
Другие вопросы по тегам