Я использую django, но это скорее общий вопрос python.Иерархия нескольких классов Python __init__ не выполняется
Я определил класс, который я намерен использовать для расширения классов ModelForm и Form, из django.forms.
код выглядит следующим образом:
class FormMixin(object):
def __init__(self, *args, **kwargs):
""" every method ocurrence must call super """
super(FormMixin, self).__init__(*args, **kwargs)
self.new_attr = 'This is an attribute'
class ModelFormAdapter(forms.ModelForm):
""" I use this class so __init__ signatures match """
def __init__(self, *args, **kwargs):
""" every method ocurrence must call super """
super(ModelFormAdapter, self).__init__(*args, **kwargs)
class BaseModelForm(ModelFormAdapter, FormMixin):
def __init__(self, *args, **kwargs):
""" BaseModelForm never gets the attribute new_attr """
super(BaseModelForm, self).__init__(*args, **kwargs)
Я даже отлажена это и INIT метод FormMixin никогда не вызывается. Что я делаю не так? То, что я хочу добиться того, чтобы добавить некоторые атрибуты для форм и полой предобработки этикетки и CSS классов