Reputation: 3489
I want to bring if dynamic_tickets:
and for ticket in dynamic_tickets:
in one line. I always receive a syntax error. Do you have an idea, how to achieve that?
def adjust_prices():
events = Event.objects.filter(status=EventStatus.LIVE)
active_events = [event for event in events if not event.is_over]
for active_event in active_events:
dynamic_tickets = [
ticket for ticket in active_event.tickets.all() if ticket.dynamic_pricing_activated()
]
if dynamic_tickets:
for ticket in dynamic_tickets:
print(ticket)
print("DO OTHER STUFF")
Upvotes: 0
Views: 1078
Reputation: 139
No need to use 'if dynamic_tickets:' , because when the list 'dynamic_tickets' will not be empty then only for loop will execute. just write the code like this:
def adjust_prices():
events = Event.objects.filter(status=EventStatus.LIVE)
active_events = [event for event in events if not event.is_over]
for active_event in active_events:
dynamic_tickets = [
ticket for ticket in active_event.tickets.all() if
ticket.dynamic_pricing_activated()
]
for ticket in dynamic_tickets:
print(ticket)
print("DO OTHER STUFF")
Upvotes: 3