From 829b0041fcd08f902a17ac42e8921ccc841ff0f3 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 23 Jul 2020 17:48:31 +0200 Subject: [PATCH] Use database replica for check-in count for statistical purposes --- src/pretix/base/models/checkin.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pretix/base/models/checkin.py b/src/pretix/base/models/checkin.py index 2c573d3ae5..78c859f00d 100644 --- a/src/pretix/base/models/checkin.py +++ b/src/pretix/base/models/checkin.py @@ -1,3 +1,4 @@ +from django.conf import settings from django.db import models from django.db.models import Exists, F, Max, OuterRef, Q, Subquery from django.utils.timezone import now @@ -92,7 +93,7 @@ class CheckinList(LoggedModel): def checkin_count(self): return self.event.cache.get_or_set( 'checkin_list_{}_checkin_count'.format(self.pk), - lambda: self.positions.annotate( + lambda: self.positions.using(settings.DATABASE_REPLICA).annotate( checkedin=Exists(Checkin.objects.filter(list_id=self.pk, position=OuterRef('pk'), type=Checkin.TYPE_ENTRY,)) ).filter( checkedin=True