我在寫一個django模型,允許我的網站擁有優惠券。Python:如果以上三件事中有一件是真的,則返回false
優惠券可以有三種類型:終生賬戶代金券,某個月份代金券,一定數量的美元代金券。
爲了簡單起見,我只允許優惠券擁有三種可能的值中的一種(即優惠券不能用於10美元和5個月)。但是我想檢查一下優惠券何時被保存以確保這個規則是真實的。
目前我有:
true_count = 0
if self.months:
true_count += 1
if self.dollars:
true_count += 1
if self.lifetime:
true_count += 1
if true_count > 1:
raise ValueError("Coupon can be valid for only one of: months, lifetime, or dollars")
我知道有更好的方式來做到這一點,但我沒有看到它(稱之爲編碼的塊)。
非常感謝幫助。
如果它的事宜中,三種類型是INT,INT和BOOL
months = models.IntegerField(default=0)
cents = models.IntegerField(default=0)
#dollars = models.FloatField(default=0.00)
#dollars replaced with integer cents per advice of group
lifetime = models.BooleanField(default=False)
1個小時,這就是爲什麼我愛#1 – Ted