Использование миксина с классом формы Django

Я подумываю о создании класса формы миксина, чтобы я мог добавлять общий набор полей к множеству очень разных форм. Просто использовать его в качестве базового класса не получится, потому что я хочу иметь возможность использовать другие формы в качестве базовых классов, например:

class NoteFormMixin(object):
    note = forms.CharField()

class MainForm(forms.Form):
    name = forms.CharField()
    age = forms.IntegerField()

class SpecialForm(MainForm, NoteFormMixin):
    favorite_color = forms.CharField()

Мой единственный вопрос: как это работает? Пока что похоже, что если я использую миксин, то он не распознает поля, установленные из этого миксина:

>>> ff1 = SpecialForm()
>>> ff1.fields
{'name': <django.forms.fields.CharField object at 0x178d3110>, 'age': <django.forms.fields.IntegerField object at 0x178d3190>, 'favorite_color': <django.forms.fields.CharField object at 0x178d3210>}

Это просто то, что нельзя сделать?

22
задан Jordan Reiter 18 August 2011 в 22:05
поделиться