Django Formset.is_valid () falhando para formulários extras
No meu aplicativo de aplicativo Django, tenho um conjunto de formulários criado a partir de um formulário simples (não modelo), com o extra = 1 (para permitir que o javasript adicione mais formulários posteriormente
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)
gora, quando crio e tento validá-lo na minha opinião na solicitação POST:
my_formset = SomeFormset(request.POST, request.FILES)
if(my_formset.is_valid()):
# FAIL
sempre falha na verificação acima, se oextr o formulário renderizado é enviado vazio.
Se eu procurar porform.changed_data
no último formulário extra vazio, recebo os campos que têm opções (como ome pegu acima). Em outras palavras, o conjunto de formulários não é inteligente o suficiente para descobrir que o formulário enviado vazio deve ser ignorado, quando alguns campos de opção são obrigatório