diff --git a/src/pretix/base/models/orders.py b/src/pretix/base/models/orders.py index 611d489e01..1a2834f240 100644 --- a/src/pretix/base/models/orders.py +++ b/src/pretix/base/models/orders.py @@ -222,12 +222,7 @@ class Order(LoggedModel): error_messages = { 'unavailable': _('Some of the ordered products were no longer available.'), } - positions = list(self.positions.all().select_related( - 'item', 'variation' - ).prefetch_related( - 'variation__values', 'variation__values__prop', - 'item__questions', 'answers' - )) + positions = self.positions.all().select_related('item', 'variation') quota_cache = {} try: for i, op in enumerate(positions): diff --git a/src/tests/control/test_orders.py b/src/tests/control/test_orders.py index 845e39bced..e7f1714b82 100644 --- a/src/tests/control/test_orders.py +++ b/src/tests/control/test_orders.py @@ -92,10 +92,11 @@ def test_order_transition_to_paid_expired_quota_left(client, env): q = Quota.objects.create(event=env[0], size=10) q.items.add(env[3]) client.login(email='dummy@dummy.dummy', password='dummy') - client.post('/control/event/dummy/dummy/orders/FOO/transition', { + res = client.post('/control/event/dummy/dummy/orders/FOO/transition', { 'status': 'p' }) o = Order.objects.get(id=env[2].id) + assert res.status_code < 400 assert o.status == Order.STATUS_PAID