Эти наборы форм показывают именно то поведение , противоположное , которое мне нужно.
Мой вид настроен так:
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
, требуются все эти дополнительные формы, которые мне не нужны.
Из документов:
Форма достаточно умна, чтобы игнорировать дополнительные формы, которые не были изменены.
Это поведение, которое демонстрирует первая форма (не то, что я хочу), но не поведение, которое проявляют дополнительные формы (то, что я хочу).
Есть ли какой-нибудь атрибут, который я могу изменить, чтобы сделать, по крайней мере, одну форму?