我需要将表单保存功能与表单确认分开。我想让用户在不验证表单内容的情况下保存表单,但是表单完成后,用户应该单击confirm按钮,这意味着数据验证并将其保存到数据库中。在
当我试图用commit=False
参数保存它时,会产生错误:
The Table could not be created because the data didn't validate.
更新:
我所做的是删除模型中的验证,并使用验证创建不同的函数,在用户完成表单后执行。所以我不会用Django术语验证这个表单。在
但如果有人得到了不同的答案,请回答。在
Tags:
在表单.py,您需要指定不需要所有字段,将required=False传递给字段构造函数:
示例:
我也有同样的问题。我最终得出的解决方案是使用两个表:
is_confirmed
)如果您的数据库支持JSON数据类型(例如MySQL 5.7+),您可以只使用以前的表。在
我认为这更好,因为验证不仅仅是关于必需字段的。想象一下,用户在
date
字段中输入了无效的日期。如果未经验证就保存它,它将以NULL
(或0000-00-00
)的形式保存到数据库中。因此,原始无效值将丢失。在相关问题 更多 >
编程相关推荐