Django表示cleaning_data字段为None。
此字段尚未通过验证。
我想更改此字段的值。
是否有另一种获取无效字段的方法?
def clean(self):
cleaned_data = super(Form, self).clean()
print(cleaned_data.get('info')) <---- It is None
return cleaned_data
答案 0 :(得分:1)
如果cleaning_data为None,则应该是因为您的现有表单字段尚未经过验证或其中没有数据。
您可以尝试这样的事情:
class Form1(forms.Form):
# Your fields here
def clean(self):
if self.is_valid():
return super(forms.Form, self).clean() # Returns cleaned_data
else:
raise ValidationError(...)
编辑:注意@Alasdair所说的 - 以下方法更好:
您可以考虑更改&#39; info&#39;的值预先,即在视图中,像这样,而不是覆盖表单的clean()方法:
# In the view
data = request.POST.dict()
data['info'] = # your modifications here
form = Form1(data)
if form.is_valid():
...