Я использовал сильно настроенный Formset
, чтобы создать довольно сложную форму со сложными зависимостями прав доступа пользователя. Это включало создание подклассов django.forms.formsets.BaseFormSet
, переопределение __init__
, add_fields
, is_valid
и save
и, конечно, использование настроенного Form
. Конечный продукт был немного волосатым, но я все еще могу понять и изменить его через 6 месяцев или около того.
Я не использовал способность Formset для работы с сложением и вычитанием подчиненных форм, но это должно соответствовать вашим потребностям.
Документация по адресу: http://docs.djangoproject.com/en/1.1/topics/forms/formsets/