ram*_*daz 6 python django django-forms
我有一个models.py类,如下所示
class Educational_Qualification(models.Model):
user = models.ForeignKey(User)
exam = models.CharField(max_length=40)
pass_month = models.CharField(max_length=40)
Run Code Online (Sandbox Code Playgroud)
我有一个views.py如下
def create_qualification(request):
QFormSet = modelformset_factory(Educational_Qualification, extra=3, exclude=("user",))
if request.method == "POST":
formset = QFormSet(request.POST, request.FILES)
if formset.is_valid():
formset.save()
for form in formset.forms:
if form.is_valid():
quali= form.save(commit=False)
quali.user = request.user
quali.save()
return HttpResponse("Saved")
else:
return HttpResponse("Snafu")
else:
formset = QFormSet()
return render_to_response("register/edu.html", {"formset":formset}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
当我提交表单时,它会抛出验证错误.声明ManagementForm数据丢失或已被篡改'
我的模板中有formset.management_form.
可能是什么问题?
Lak*_*sad 24
错误不在您的视图或模型中,而是在模板中.
呈现formset的正确方法是:
<form method="post" action="">
<table>
{{ formset }}
</table>
</form>
Run Code Online (Sandbox Code Playgroud)
要么
<form method="post" action="">
{{ formset.management_form }}
<table>
{% for form in formset.forms %}
{{ form }}
{% endfor %}
</table>
</form>
Run Code Online (Sandbox Code Playgroud)
我想,你是在循环模板中的表格而不包括管理表格?