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.end
或 end_t.start
是什么意思?错误消息说 start_r
是 None,因此没有 end
属性。但即使 start_r
不是 None,这些字段也被定义为整数,而不是对象。
要访问 cleaned_data,您需要使用以下 2 个命令之一:
cleaned_data = super(CheckForm, self).clean()
cleaned_data = self.cleaned_data
如果您能更详细地说明您的需求,我会提供更好的帮助。
我正在 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.end
或 end_t.start
是什么意思?错误消息说 start_r
是 None,因此没有 end
属性。但即使 start_r
不是 None,这些字段也被定义为整数,而不是对象。
要访问 cleaned_data,您需要使用以下 2 个命令之一:
cleaned_data = super(CheckForm, self).clean()
cleaned_data = self.cleaned_data
如果您能更详细地说明您的需求,我会提供更好的帮助。