]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
Fetch maintainer information in one query
authorStewart Smith <stewart@linux.ibm.com>
Fri, 10 Aug 2018 08:01:06 +0000 (18:01 +1000)
committerStephen Finucane <stephen@that.guru>
Mon, 10 Sep 2018 20:24:24 +0000 (14:24 -0600)
Viewing the /project/ page lists maintainers. Prior to this patch,
this was done in one query to fetch the maintainer IDs, and then one
query per mainatiner to get the name/email address.

Now, with this patch, it's all in one query (yay joins) and saves
a few ms of database queries for displaying the page.

Realistically, this doesn't save us too much time as counting how many
patches are there takes 99% of the database time for this page.

Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Reviewed-by: Stephen Finucane <stephen@that.guru>
patchwork/views/project.py

index b83dabfa69639bc6bd0e17ab7899a1f5791959fc..a0c4db42af5f1814e1107801bee1588b05c12084 100644 (file)
@@ -70,7 +70,7 @@ def project_detail(request, project_id):
     context = {
         'project': project,
         'maintainers': User.objects.filter(
-            profile__maintainer_projects=project),
+            profile__maintainer_projects=project).select_related('profile'),
         'n_patches': n_patches[False] if False in n_patches else 0,
         'n_archived_patches': n_patches[True] if True in n_patches else 0,
         'enable_xmlrpc': settings.ENABLE_XMLRPC,