From 2731d4630fa830103a3fe9879c2e52493c179950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Delobelle?= Date: Thu, 6 Apr 2017 19:25:23 +0200 Subject: [PATCH] Fewer requests on accounts groups. - Saves two queries. (4 prefetch where done, replaced by 2 prefetchs (whose 1 with 2 selected_related)) --- kfet/views.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/kfet/views.py b/kfet/views.py index 92cdd734..6d8af17d 100644 --- a/kfet/views.py +++ b/kfet/views.py @@ -518,13 +518,22 @@ def account_update(request, trigramme): 'pwd_form': pwd_form, }) + @permission_required('kfet.manage_perms') def account_group(request): - groups = (Group.objects - .filter(name__icontains='K-Fêt') - .prefetch_related('permissions', 'user_set__profile__account_kfet') + user_pre = Prefetch( + 'user_set', + queryset=User.objects.select_related('profile__account_kfet'), ) - return render(request, 'kfet/account_group.html', { 'groups': groups }) + groups = ( + Group.objects + .filter(name__icontains='K-Fêt') + .prefetch_related('permissions', user_pre) + ) + return render(request, 'kfet/account_group.html', { + 'groups': groups, + }) + class AccountGroupCreate(SuccessMessageMixin, CreateView): model = Group