我的ModelForm
的一个自定义字段包含要编辑的数据库行的pk。因此,我想首先检查表单是否有效,然后使用已清理的pk字段设置实例,然后保存表单。它甚至可能吗?
我现在的解决方法是创建一个新的ModelForm
实例,它不是很整洁。
答案 0 :(得分:2)
如果您的表单覆盖了实例中的所有信息,您只需手动设置主键:
if form.is_valid():
obj = form.save(commit=False)
obj.pk = form.cleaned_data['pk_to_edit']
obj.save()
return ...