From 0d6e1e2271a03230480265856752ef4bb317461a Mon Sep 17 00:00:00 2001 From: Phin Wolkwitz Date: Mon, 26 Jan 2026 08:38:44 +0100 Subject: [PATCH] Prefetch program times, add test for query count (#5822) --- src/pretix/api/views/item.py | 2 +- src/tests/api/test_items.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/pretix/api/views/item.py b/src/pretix/api/views/item.py index a84fa589a..be66bc482 100644 --- a/src/pretix/api/views/item.py +++ b/src/pretix/api/views/item.py @@ -106,7 +106,7 @@ class ItemViewSet(ConditionalListView, viewsets.ModelViewSet): 'variations', 'addons', 'bundles', 'meta_values', 'meta_values__property', 'variations__meta_values', 'variations__meta_values__property', 'require_membership_types', 'variations__require_membership_types', - 'limit_sales_channels', 'variations__limit_sales_channels', + 'limit_sales_channels', 'variations__limit_sales_channels', 'program_times' ).all() def perform_create(self, serializer): diff --git a/src/tests/api/test_items.py b/src/tests/api/test_items.py index 3353cd5ed..25ea7cea8 100644 --- a/src/tests/api/test_items.py +++ b/src/tests/api/test_items.py @@ -50,6 +50,7 @@ from pretix.base.models import ( QuestionOption, Quota, ) from pretix.base.models.orders import OrderFee +from pretix.testutils.queries import assert_num_queries @pytest.fixture @@ -422,6 +423,13 @@ def test_item_list(token_client, organizer, event, team, item): assert [] == resp.data['results'] +@pytest.mark.django_db +def test_item_list_queries(token_client, organizer, event, team, item, item3): + with assert_num_queries(18): + resp = token_client.get('/api/v1/organizers/{}/events/{}/items/'.format(organizer.slug, event.slug)) + assert resp.status_code == 200 + + @pytest.mark.django_db def test_item_detail(token_client, organizer, event, team, item): res = dict(TEST_ITEM_RES)