From 886643db8422245281fa0c4f5fd876d7224d208e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C4=93teris=20Caune?= Date: Fri, 1 Feb 2019 14:33:02 +0200 Subject: [PATCH] Prefetch projects in profile admin. --- hc/accounts/admin.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hc/accounts/admin.py b/hc/accounts/admin.py index e1b0d51e..0b7eff75 100644 --- a/hc/accounts/admin.py +++ b/hc/accounts/admin.py @@ -46,12 +46,13 @@ class ProfileAdmin(admin.ModelAdmin): "projects", "invited", "sms", "reports_allowed") search_fields = ["id", "user__email"] list_filter = ("user__date_joined", "user__last_login", - "team_limit", "reports_allowed", "check_limit") + "reports_allowed", "check_limit") fieldsets = (ProfileFieldset.tuple(), TeamFieldset.tuple()) def get_queryset(self, request): qs = super(ProfileAdmin, self).get_queryset(request) + qs = qs.prefetch_related("user__project_set") qs = qs.annotate(num_members=Count("user__project__member", distinct=True)) qs = qs.annotate(num_checks=Count("user__project__check", distinct=True)) qs = qs.annotate(num_channels=Count("user__project__channel", distinct=True))