如何避免将每个变量明确设置为False?

问题描述 投票:1回答:1

我经常遇到必须将变量设置为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定义最多四个变量。

python django
1个回答
1
投票

您可以使用any,一旦遇到真值,它也会快捷方式:

self.dynamic_pricing_active = any(ticket.is_available() for ticket in test)
© www.soinside.com 2019 - 2024. All rights reserved.