From ae56229afedd191369b0012fd373714c2060f357 Mon Sep 17 00:00:00 2001 From: "Casper V. Kristensen" Date: Thu, 2 Jan 2020 18:57:48 +0100 Subject: [PATCH] Raid detail: Prefetch pseudo no-response objects; 162 queries -> 18. --- drakul/raids/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drakul/raids/views.py b/drakul/raids/views.py index 01fc8f7..eeca141 100644 --- a/drakul/raids/views.py +++ b/drakul/raids/views.py @@ -4,7 +4,7 @@ from datetime import timedelta from django.contrib.auth import get_user_model from django.contrib.auth.mixins import PermissionRequiredMixin -from django.db.models import Q, Max +from django.db.models import Q, Max, prefetch_related_objects from django.http import Http404 from django.urls import reverse, reverse_lazy from django.utils import timezone @@ -144,6 +144,7 @@ class RaidDetailView(SingleObjectMixin, MultiModelFormView): .order_by("main__klass") pseudo_no_responses = [RaidResponse(character=user.main, status=None) for user in no_response_users] + prefetch_related_objects(pseudo_no_responses, "character__user__rank", "character__user__main") context["responses"] = list(raid.responses.all()) + pseudo_no_responses return context