已清理的数据

时间:2016-02-18 04:53:36

标签: python django checkbox django-forms

我正在使用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编写正确的语法,以便代码评估是否取消选中复选框/布尔字段。

感谢。

1 个答案:

答案 0 :(得分:0)

答案是:

employment_history_current_employment is False

我不知道之前为什么它不起作用,但我刚刚重新尝试了上述解决方案,它现在有效!

怪异!