这些表格集表现出我想要的完全相反的行为.
我的观点设置如下:
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()
Run Code Online (Sandbox Code Playgroud)
我的模板看起来像这样:
<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>
Run Code Online (Sandbox Code Playgroud)
这样它最初只生成一个表单,就像我想要的那样.但是我想要一个表格!
当我使用JavaScript动态添加空白表单时,需要vehicles_formset.empty_form所有这些额外的表单,这是我不想要的.
来自文档:
formset足够聪明,可以忽略未更改的额外表单.
这是第一种形式展示的行为(不是我想要的),而不是额外形式展示的行为(我想要的).
是否有一些我可以改变的属性,至少需要一个表格?