我正在使用python 2.7& django 1.7.2。
我有一个表单,用户可以在表单上提交一个布尔字段作为复选框,通常可以为null或未选中。
但是,如果开始日期字段不为空,则完成日期字段不能为空或,应选中该复选框。
我自己尝试写这个但是在验证复选框字段语法时失败了,尽管搜索SO&谷歌。
这是我的模型代码:
employment_history_start_date = models.DateField(null=True, blank=True)
employment_history_current_employment = models.BooleanField(default=False)
employment_history_finish_date = models.DateField(null=True, blank=True)
这是我的表单清理代码:
def clean_employment_history_finish_date1(self):
employment_history_current_employment = self.cleaned_data.get('employment_history_current_employment')
employment_history_start_date = self.cleaned_data.get('employment_history_start_date')
employment_history_finish_date = self.cleaned_data.get('employment_history_finish_date')
if employment_history_start_date is not None:
if employment_history_finish_date is None and employment_history_current_employment is None:
raise forms.ValidationError(_("You must enter a valid To date or select the Current Employment check-box."))
return employment_history_finish_date
我不确定如何为employment_history_current_employment is None
编写正确的语法,以便代码评估是否取消选中复选框/布尔字段。
感谢。
答案 0 :(得分:0)
答案是:
employment_history_current_employment is False
我不知道之前为什么它不起作用,但我刚刚重新尝试了上述解决方案,它现在有效!
怪异!