Expiry warnings: Pre-fetch expiry column

This commit is contained in:
Raphael Michel
2019-11-24 16:27:47 +01:00
parent f8a080d180
commit 53a22e0e88

View File

@@ -875,12 +875,13 @@ def expire_orders(sender, **kwargs):
def send_expiry_warnings(sender, **kwargs):
today = now().replace(hour=0, minute=0, second=0)
days = None
settings = None
event_id = None
for o in Order.objects.filter(
expires__gte=today, expiry_reminder_sent=False, status=Order.STATUS_PENDING,
datetime__lte=now() - timedelta(hours=2), require_approval=False
).only('pk', 'event_id').order_by('event_id'):
).only('pk', 'event_id', 'expires').order_by('event_id'):
if event_id != o.event_id:
settings = o.event.settings
days = cache.get_or_set('{}:{}:setting_mail_days_order_expire_warning'.format('event', o.event_id),