我经常遇到必须将变量设置为False的情况。我的最后一个案例是这里的一个:
@cached_property
def dynamic_pricing(self):
self.dynamic_pricing_active = False
test = self.request.event.tickets.filter(dynamic_pricing__activated=True)
for ticket in test:
if ticket.is_available():
self.dynamic_pricing_active = True
break
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['dynamic_pricing_active'] = self.dynamic_pricing_active
return context
有没有办法避免设置self.dynamic_pricing_active = False
?
我有其他情况,由于与此处相同的原因,我必须用False定义最多四个变量。
您可以使用any
,一旦遇到真值,它也会快捷方式:
self.dynamic_pricing_active = any(ticket.is_available() for ticket in test)