我尝试将初始值添加到modelformset_factory的空格式中。
FormSet = modelformset_factory(MyModel, extra=2)
formset = FormSet(queryset=MyModel.objects.none(), initial=[{'foo': 'bar'}, {'foo': 'bar'}])
我想将初始值设置为formset.empty_form,我该如何实现?
答案 0 :(得分:1)
您可以按照明确说明的in this other answer向表单集添加初始值。然后,您就可以在模板中设置empty_form
,例如:
<form action="/contact/" method="post">{% csrf_token %}
{% with formset.empty_form as form %}
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{{ field.label_tag }}: {{ field }}
</div>
{% endfor %}
{% endwith %}
<input type="submit" value="Submit" />
</form>
答案 1 :(得分:0)
我不确定这是否是正确答案,但快速破解这项工作只是在formset初始化后使用您想要的表单重新分配empty_form。
formset = formset_factory(MyClass, **kwargs)
empty = formset.empty_form
# empty is a form instance, so you can do whatever you want to it
my_empty_form_init(empty_form)
formset.empty_form = empty_form
请注意,这会覆盖生成的formset的empty_form属性。