我有一个基于ModelForm的from并使用formset_factory来创建基于两个词典的formset。还有一个额外的表格。
在我看来,我使用formset JS插件,我用数据删除了两个表单。当我发布剩余的空额外表格时,由于必填字段,它无法通过验证。
我不明白为什么要验证该表格。其changed_data列表为空。它返回时返回empty_permitted = False(我想知道为什么会这样),但即使我在调试器中将其更改为True,它也会被验证。
那么什么是触发验证以及如何修改它?
我也很想知道存储初始数据等数据的位置。在我看来,我没有看到它吗?
答案 0 :(得分:0)
模板管理表单有一个名为INITIAL_FORMS的计数器。用于添加和删除表单的formset插件不区分最初填充的表单和它添加的表单。删除表单时,如果最初填充表单,则应递减INITIAL_FORMS。
这可以通过包含模板变量来实现,该模板变量标记最初填充的表单。在formset插件的remove函数中,如果正在删除其中一个标记表单,则递减INITIAL_FORMS。