【发布时间】:2021-02-26 08:28:55
【问题描述】:
我是 django 新手,我试图在一个视图中拥有两个模型表单集,但我收到“ManagementForm 数据丢失或已被篡改”错误。我已经检查了docs,我知道我必须使用 management_formset 标记和前缀,但我仍然遇到错误。
我一直在寻找答案,但无法修复错误。
只有一个表单集,一切都按预期工作。
Views.py
def soil_page(request):
SoilFormSet = modelformset_factory(model=Soil,exclude=False,min_num=1,extra=0)
CMCFormSet = modelformset_factory(model=CMC,exclude=False,max_num=1)
if request.method == "POST":
formset = SoilFormSet(request.POST or None, request.FILES or None, prefix='soils')
cmcform = CMCFormSet(request.POST or None,request.FILES or None, prefix='cmcs')
if formset.is_valid():
formset.save()
if cmcform.is_valid():
cmcform.save()
else:
formset = SoilFormSet(prefix='soils')
cmcform = CMCFormSet(prefix='cmcs')
return render(request,'soil/soil_form.html',{'formset':formset,
'cmcform':cmcform,})
HTML
<div class="container">
<form id="myform" method="post">
{% csrf_token %}
{{ formset.management_form }}
{{ formset.as_p }}
<input type="submit" value="Save" form='myform'/>
</form>
</div>
<div class="container">
<form id="cmcform" method="post">
{% csrf_token %}
{{ cmcform.management_form }}
{{ cmcform.as_p }}
<input type="submit" value="Save" form='cmcform'/>
</form>
</div>
我希望你能帮助我。谢谢。
【问题讨论】:
标签: python html django django-forms formset