Django Formset.is_valid () не работает для дополнительных форм
В моем приложении Django у меня есть набор форм, который создается из простой (не моделированной) формы с extra = 1 (чтобы позволить javasript добавить больше форм позже).
class SomeForm(forms.Form):
#some fields with required=False
length = forms.IntegerField(required=False)
# An example of one of the fields with choices i have
A = 0
B = 1
C = 2
D = 3
choices = ((A, 'Aah'), (B, 'Baa'), (C, 'Caa'), (D, 'Daa'))
# This is a required choice field
pickme = forms.ChoiceField(choices=choices)
SomeFormset = formset_factory(SomeForm, can_delete=True, extra=1)
Теперь, когда я создаю и пытаюсь проверить его в моем представлении на запрос POST:
my_formset = SomeFormset(request.POST, request.FILES)
if(my_formset.is_valid()):
# FAIL
он всегда не проходит вышеуказанную проверку, еслидополнительный предоставленная форма представляется пустой.
Если я проверюform.changed_data
в последней пустой дополнительной форме я получаю поля, в которых есть выбор (например,Выбери меня выше). Другими словами, набор форм недостаточно умен, чтобы понять, что пустая отправленная форма должна игнорироваться, когда требуются некоторые поля выбора.