即使没有提供数据,formset也会验证为True

时间:2011-03-08 18:30:19

标签: django django-forms

这是我如何测试formset:

>>>data = {'pfix-0-fname':'','pfix-0-lname':'','pfix-0-relation':'','pfix-0-dob_month':'','pfix-0-dob_day':'','pfix-0-dob_year':'','pfix-1-fname':'','pfix-1-lname':'','pfix-1-relation':'','pfix-1-dob_month':'','pfix-1-dob_day':'','pfix-1-dob_year':'','pfix-INITIAL_FORMS':'0','pfix-TOTAL_FORMS':'2'}
>>>ffact = formset_factory(Form,extra=2)
>>>fset = ffact(data,prefix='pfix')
>>>fset.is_valid()
True
>>>fset.cleaned_data
[{},{}]

但是,如果我在onefield中提供任何错误的数据,那么验证就是为那个表格工作。我的所有字段都是必需的=即使那样它也没有帮助。任何想法为什么会这样。谢谢。

1 个答案:

答案 0 :(得分:0)

我不确定这是不是原因,但它运作正常。 将关系字段的初始值设置为当前日期确实解决了问题。 我认为设置任何字段应该使它工作,但我更喜欢这个字段作为该字段的非apt类型并触发错误而不是显示的东西。