Django 中的 AttributeError 重叠验证检查

AttributeError in Django Overlapping validation checking

我正在 djano 中创建一个验证规则来检查重叠,但是我收到这个错误,你们能帮帮我吗

有两个数据字段,当数据字段重叠时,验证错误会增加。

start_r= model.integerfield(blank=True, Null=True)
end_t=model.intergerfield(blank=True,Null=True)

form.py

class CheckForm(forms.ModelForm):
   def clean(self):
           start_r = cleaned_data.get("start_r",[])
           end_t =cleaned_data.get("end_t",[])
           if (start_r.end >= end_t.start) and (start_r.start <= end_t.end):
              raise ValidationError("Overlap not allowed.")

我收到这个错误 'NoneType' 对象没有属性 'end'

start_r.endend_t.start 是什么意思?错误消息说 start_r 是 None,因此没有 end 属性。但即使 start_r 不是 None,这些字段也被定义为整数,而不是对象。

要访问 cleaned_data,您需要使用以下 2 个命令之一:

  • cleaned_data = super(CheckForm, self).clean()
  • cleaned_data = self.cleaned_data

如果您能更详细地说明您的需求,我会提供更好的帮助。