在Django中,我有一个带有干净功能的表单类。在这个干净的功能中,我检查是否填写了可选的选择框。
def clean_session_1(self):
# Check if session_1 is filled out.
if self.cleaned_data['session_1']:
# more validation
return self.cleaned_data['session_1']
如果填写了选择框,则会对该字段进行更多验证。
出于某种原因,此代码不测试该字段是否已填写并且每次都运行“更多验证”。
我想知道如果这个字段“session_1”被填写,如何可靠地测试?谢谢!
答案 0 :(得分:1)
访问self._raw_value('key')
以获取表单字段中的原始条目(即只是文本,而不是处理为python对象)。
更新:正如Ahsan所说,用clean
方法做。您也应该调用超类清理方法。
答案 1 :(得分:0)
你可以用表格的干净方法检查
def clean(self):
data = self.data # data contains all fields, optional or required both
optional_field = data.get('optional_field', None)
# more validation
return optional_field