django表单is_valid和cleaning_data以实现保存和提交行为。

时间:2013-10-25 09:54:20

标签: django django-models django-forms django-views

我正在使用formset,并尝试实现保存选项。 即:您在表单页面中输入表单详细信息,具有两个功能

1)保存

2)提交

保存 - >我想将数据保存到数据库而不进行验证。[无论用户是否输入了必填字段]

提交 - >当然还有验证并保存到数据库中。

对于提交,我没有任何问题。

但是对于Save:

 for form in formset.form:
     1) Validate the form form.is_validate() -> Just invoking.
     2) get the cleaned_data 

在下面的方法中,

1)只有当is_valid()为True时,clean_data才可用吗?

2)我们还有其他方法可以实现同样的目标吗?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

  

1)只有当is_valid()为True时,clean_data才可用吗?

是。仅在表格有效时才可用。

  

2)我们还有其他方法可以实现同样的目标吗?

我认为您不能将这些数据保存在同一个表中的数据库中。但是,您可以将其保存在会话(cookie)中。您可以序列化表单(或提交的POST数据)并将其保存为会话中的JSON。

要显示之前保存的表单,您可以检索此数据并将其作为initial_data传递给表单或表单集。