Reduce number of SQL queries on order detail page

This commit is contained in:
Raphael Michel
2020-03-26 09:38:56 +01:00
parent 61a1368ed2
commit c89242855c
2 changed files with 5 additions and 3 deletions

View File

@@ -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)

View File

@@ -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