这些模板集正好展示了我想要的opposite种行为.
我的视图设置如下:
def post(request): # TODO: handle vehicle formset
VehicleFormSetFactory = formset_factory(VehicleForm, extra=1)
if request.POST:
vehicles_formset = VehicleFormSetFactory(request.POST)
else:
vehicles_formset = VehicleFormSetFactory()
我的模板如下所示:
<div id="vehicle_forms">
{{ vehicles_formset.management_form }}
{% for form in vehicles_formset.forms %}
<h4>Vehicle {{forloop.counter}}</h4>
<table>
{% include "form.html" %}
</table>
{% endfor %}
</div>
这样,它最初只生成1个表单,就像我想要的那样.但我想要那一张表格是必需的!
当我使用JavaScript和vehicles_formset.empty_form
动态添加空白表单时,所有这些额外的表单都是必需的,这是我不想要的.
从文档中:
表单集足够智能,可以忽略未更改的额外表单.
这是第一个表单显示的行为(不是我想要的),而不是额外的表单显示的行为(我确实想要的).
是否有一些属性可以更改为至少需要one个表单?