'>' не поддерживается между экземплярами 'NoneType' и 'NoneType' Проверка перекрытия
Здравствуйте, я получаю эту ошибку при проверке валидности
def sefl(clean):
start_number=self.cleaned_data.get("start_number",None)
end_number=self.cleaned_data.get("end_number",None)
latest_start=max(start_number, end_number)
earliest_end = min(start_number, end_number)
delta = (earliest_end - latest_start) + 1
if delta is None:
raise ValidationError("overlap not allowed")
Вам нужно будет поймать создаваемые вами значения none, например, так:
def sefl(clean):
start_number = self.cleaned_data.get("start_number", None)
end_number = self.cleaned_data.get("end_number", None)
if start_number is not None and end_number is not None:
latest_start=max(start_number, end_number)
earliest_end = min(start_number, end_bbch)
delta = (earliest_end - latest_start) + 1
if delta is None:
raise ValidationError("overlap not allowed")
else:
raise ValidationError("start_number and end_number are required")
Это происходит потому, что вы определяете значения по умолчанию для обеих переменных как None. Если хотя бы одна из них действительно None в момент сравнения, которое выполняют max или min, то возникает проблема, с которой вы столкнулись.
Есть несколько способов обойти это, если вас это интересует. Например, вы можете использовать другое значение по умолчанию вместо None, если для этого есть подходящее значение.