From bd80eb4e6542451e06cb74365bad46511da86061 Mon Sep 17 00:00:00 2001 From: Jelle van der Waa Date: Sat, 20 Jul 2024 15:45:09 +0200 Subject: [PATCH] public: prefetch the userprofile table We request all pgp_key's in a loop which would lead to 100 queries, prefetching the userprofile makes the page load with 26 queries as of writing. --- public/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/views.py b/public/views.py index e2cd0c10..6c2c8bab 100644 --- a/public/views.py +++ b/public/views.py @@ -93,7 +93,7 @@ def feeds(request): def keys(request): profile_ids = UserProfile.allowed_repos.through.objects.values('userprofile_id') users = User.objects.filter( - is_active=True, userprofile__id__in=profile_ids).order_by('first_name', 'last_name') + is_active=True, userprofile__id__in=profile_ids).order_by('first_name', 'last_name').select_related('userprofile') user_key_ids = frozenset(user.userprofile.pgp_key[-16:] for user in users if user.userprofile.pgp_key)