Django 为什么modelformset总是返回错误;此字段为必填字段“0”;?
我尝试在模板中手动呈现modelformset,当我点击submit按钮时,它会给出一个错误,提示“此字段是必需的”。 我创建的modelformset如下所示:Django 为什么modelformset总是返回错误;此字段为必填字段“0”;?,django,Django,我尝试在模板中手动呈现modelformset,当我点击submit按钮时,它会给出一个错误,提示“此字段是必需的”。 我创建的modelformset如下所示: from django.forms import modelformset_factory ImageFormset = modelformset_factory(PostImages, fields=('image',), extra=0, can_delete=True) formset = ImageFormset(query
from django.forms import modelformset_factory
ImageFormset = modelformset_factory(PostImages, fields=('image',), extra=0, can_delete=True)
formset = ImageFormset(queryset=post.postimages_set.all())
当我像这样渲染modelformset时,一切都正常:
{{ formset.management_form }}
{{ formset.as_p }}
但当我这样渲染它时,我会得到一个错误:
{{ formset.management_form }}
{% for f in formset %}
<img src="/media/{{ f.image.value}}" style="max-width: 400px;" alt="">
{{ f.image }}
{{ f.DELETE }}
{% endfor %}
{{formset.management_form}
{formset%中f的%s}
{{f.image}
{{f.DELETE}
{%endfor%}
模型表单集向表单添加一个隐藏字段,其中包含模型实例主键,以便能够识别哪个对象是哪个对象。手动呈现窗体时,您没有呈现它,这会导致窗体由于找不到它而给您一个错误
作为手动呈现表单的最佳实践,只需在表单隐藏字段上循环并呈现它们:
{{ formset.management_form }}
{% for f in formset %}
{% for field in f.hidden_fields %}
{{ field }}
{% endfor %}
<img src="/media/{{ f.image.value}}" style="max-width: 400px;" alt="">
{{ f.image }}
{{ f.DELETE }}
{% endfor %}
{{formset.management_form}
{formset%中f的%s}
{f.hidden_fields%}
{{field}}
{%endfor%}
{{f.image}
{{f.DELETE}
{%endfor%}