我的表单中有一个隐藏字段,最容易包含在视图中。这就是我现在所拥有的:
if request.method == 'POST':
form = Form(request.POST)
if form.is_valid():
form.name = name
form.save()
return HttpResponseRedirect('')
提交表单时没有错误,表单元素出现在DB中(因此表单有效)。但是,我添加的元素(form.name
) not 不会出现在数据库中。为什么这不起作用,我该怎么办呢?
答案 0 :(得分:1)
您可以使用commit=False
保存表单,然后更新instance
:
if form.is_valid():
instance = form.save(commit=False)
instance.name = 'name'
instance.save()
form.save_m2m() # required if there are many-to-many fields in the form
return HttpResponseRedirect('')
有关详细信息,请参阅the ModelForm save() method上的文档。