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): def get_object(self, queryset=None):
try: try:
return Order.objects.get( return self.request.event.orders.get(
event=self.request.event,
code=self.kwargs['code'].upper() code=self.kwargs['code'].upper()
) )
except Order.DoesNotExist: except Order.DoesNotExist:
@@ -174,6 +173,8 @@ class OrderView(EventPermissionRequiredMixin, DetailView):
@cached_property @cached_property
def order(self): def order(self):
if hasattr(self, 'object') and self.object:
return self.object
return self.get_object() return self.get_object()
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
@@ -274,6 +275,7 @@ class OrderDetail(OrderView):
p.item.questions.all() p.item.questions.all()
) )
p.cache_answers() p.cache_answers()
p.order = self.order
positions.append(p) positions.append(p)

View File

@@ -99,7 +99,7 @@ def register_pdf(sender, **kwargs):
def _cached_rendermap(event): def _cached_rendermap(event):
if hasattr(event, '_cached_rendermap'): if hasattr(event, '_cached_renderermap'):
return event._cached_renderermap return event._cached_renderermap
renderermap = { renderermap = {
bi.item_id: bi.layout_id bi.item_id: bi.layout_id