簡體   English   中英

“>”在“NoneType”和“NoneType”重疊檢查的實例之間不受支持

[英]'>' not supported between instances of 'NoneType' and 'NoneType' Overlapping Check

您好,我在驗證檢查中收到此錯誤

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 如果在maxmin進行比較時,其中至少有一個實際上是None ,則會出現您遇到的問題。

如果您有興趣,有幾種方法可以解決這個問題。 例如,如果有合適的值,您可以使用不同的默認值而不是None

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM