From 5b819b76f0502d2dfdba0acb9627154ae40753ca Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 28 Aug 2023 16:54:09 +0200 Subject: [PATCH] Check-in: Fix N+1 query issue identified by sentry --- src/pretix/base/services/checkin.py | 2 +- src/tests/api/test_checkinrpc.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pretix/base/services/checkin.py b/src/pretix/base/services/checkin.py index 55078af5fb..5568973651 100644 --- a/src/pretix/base/services/checkin.py +++ b/src/pretix/base/services/checkin.py @@ -886,7 +886,7 @@ def perform_checkin(op: OrderPosition, clist: CheckinList, given_answers: dict, if isinstance(auth, Device): device = auth - last_cis = list(op.checkins.order_by('-datetime').filter(list=clist).only('type', 'nonce')) + last_cis = list(op.checkins.order_by('-datetime').filter(list=clist).only('type', 'nonce', 'position_id')) entry_allowed = ( type == Checkin.TYPE_EXIT or clist.allow_multiple_entries or diff --git a/src/tests/api/test_checkinrpc.py b/src/tests/api/test_checkinrpc.py index 4bca404053..09bbde4b01 100644 --- a/src/tests/api/test_checkinrpc.py +++ b/src/tests/api/test_checkinrpc.py @@ -211,7 +211,7 @@ def _redeem(token_client, org, clist, p, body=None, query=''): def test_query_load(token_client, organizer, clist, event, order, django_assert_max_num_queries): with scopes_disabled(): p = order.positions.first() - with django_assert_max_num_queries(30): + with django_assert_max_num_queries(29): resp = _redeem(token_client, organizer, clist, p.secret) assert resp.status_code == 201 assert resp.data['status'] == 'ok'