Python: if more than one of three things is true, return false

前端 未结 11 2720
温柔的废话
温柔的废话 2021-02-14 01:33

I\'m writing a django model that allows my site to have coupons.

Coupons can have three types: lifetime account voucher, certain period of months voucher, certain numb

11条回答
  •  半阙折子戏
    2021-02-14 01:56

    I don't know if this is better for you, but doing it this way would work:

    if (self.months && self.dollars) || (self.months && self.lifetime) || (self.dollars && self.lifetime):
       raise ValueError("Coupon can be valid for only one of: months, lifetime, or dollars") 
    

提交回复
热议问题