【发布时间】:2018-05-29 17:08:30
【问题描述】:
我已经构建了一个自定义表单,其中包含几个自定义字段(包含我的模型的主键),所以我没有使用 clean_() 方法,只使用 clean()。
我获取数据,如果字段不包含某些输入,我会引发 ValidationError。但是,我不希望这样来完全重置我的表单输入...有没有办法在提交时“保存”表单的状态...或者即使您引发验证错误也可以返回值?
表格:
def clean(self):
data = self.data
my_data = data.getlist('my_data')
... use my_data to create pandas dataframe ...
missing = df.loc[(
((df['status'] == 'report') | (df['status'] == 'toconfirm')) &
(df['evidence'] == ''))]
if not missing_evidence.empty:
error_ids = missing_evidence['obj'].tolist()
error_variants = [str(o) for o in error_ids]
error_variants = "; ".join(error_variants)
raise(forms.ValidationError(('%(value)s incorrect'),
params={'value': error_variants},
))
** here can I return dataframe, and re-set up my form? **
【问题讨论】:
-
你没有重置值,你仍然可以使用
form.data['field_name']获取数据。
标签: django forms validation