python Django相关对象不存在错误

enyaitl3  于 2022-12-17  发布在  Python
关注(0)|答案(1)|浏览(134)

我看不出这个能用...
我的模型中有一个方法has_related_object,它需要检查相关对象是否存在......

class Business(base):
      name =  models.CharField(max_length=100, blank=True, null=True)

  def has_related_object(self):
    has_customer = False
    has_car = False

    try:
        has_customer = (self.customer is not None)
    except Business.DoesNotExist:
        pass

    try:
        has_car = (self.car.park is not None)
    except Business.DoesNotExist:
        pass

    return has_customer and has_car


class Customer(base):
      name =  models.CharField(max_length=100, blank=True, null=True)
      person = models.OneToOneField('Business', related_name="customer")

错误
相关对象不存在业务没有客户。
我需要检查这些相关对象是否存在,但是要从业务对象方法内部进行检查

h6my8fg2

h6my8fg21#

你正在捕获except Business.DoesNotExist,但这不是抛出的异常,对于this SO answer,你想捕获一般的DoesNotExist异常。
编辑:见以下备注:DoesNotExist捕获实际的异常,因为它们继承自DoesNotExist。最好捕获真实的的异常,而不是从所涉及的模型中抑制任何和所有DoesNotExist异常。

相关问题