From c89242855c5f4b0c73ee28b59d1c3ad5539b49fb Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 26 Mar 2020 09:38:56 +0100 Subject: [PATCH] Reduce number of SQL queries on order detail page --- src/pretix/control/views/orders.py | 6 ++++-- src/pretix/plugins/badges/signals.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/pretix/control/views/orders.py b/src/pretix/control/views/orders.py index efd9f1f3eb..41ac6a6c85 100644 --- a/src/pretix/control/views/orders.py +++ b/src/pretix/control/views/orders.py @@ -159,8 +159,7 @@ class OrderView(EventPermissionRequiredMixin, DetailView): def get_object(self, queryset=None): try: - return Order.objects.get( - event=self.request.event, + return self.request.event.orders.get( code=self.kwargs['code'].upper() ) except Order.DoesNotExist: @@ -174,6 +173,8 @@ class OrderView(EventPermissionRequiredMixin, DetailView): @cached_property def order(self): + if hasattr(self, 'object') and self.object: + return self.object return self.get_object() def get_context_data(self, **kwargs): @@ -274,6 +275,7 @@ class OrderDetail(OrderView): p.item.questions.all() ) p.cache_answers() + p.order = self.order positions.append(p) diff --git a/src/pretix/plugins/badges/signals.py b/src/pretix/plugins/badges/signals.py index 71738595f7..535c0395ed 100644 --- a/src/pretix/plugins/badges/signals.py +++ b/src/pretix/plugins/badges/signals.py @@ -99,7 +99,7 @@ def register_pdf(sender, **kwargs): def _cached_rendermap(event): - if hasattr(event, '_cached_rendermap'): + if hasattr(event, '_cached_renderermap'): return event._cached_renderermap renderermap = { bi.item_id: bi.layout_id