forked from CGM_Public/pretix_original
Reduce number of SQL queries on order detail page
This commit is contained in:
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user