Получить все классы родителей из внутренней Меты в Джанго?
Интересно, возможно ли получить все родительские классы из внутреннего Мета-класса?
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]