]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
views: Use select_related, not prefetch_related
authorStephen Finucane <stephen@that.guru>
Mon, 29 Oct 2018 15:46:39 +0000 (15:46 +0000)
committerDaniel Axtens <dja@axtens.net>
Tue, 30 Oct 2018 13:19:24 +0000 (00:19 +1100)
Now that there's a 1:N rather than N:M relationship between series and
patches, we should be using select_related rather than prefetch_related.

Tested-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Stephen Finucane <stephen@that.guru>
Closes: #223
Fixes: 76505e91 ("models: Convert Series-Patch relationship to 1:N")
Signed-off-by: Daniel Axtens <dja@axtens.net>
patchwork/views/__init__.py

index 178b3d414cd0d5ad5733ddb854d98ecea0db9cb5..cea614862d1e00a2c54490b3e4e7d6fd540ed1d2 100644 (file)
@@ -273,17 +273,16 @@ def generic_list(request, project, view, view_args=None, filter_settings=None,
 
     # but we will need to follow the state and submitter relations for
     # rendering the list template
-    patches = patches.select_related('state', 'submitter', 'delegate')
+    patches = patches.select_related('state', 'submitter', 'delegate',
+                                     'series')
 
     patches = patches.only('state', 'submitter', 'delegate', 'project',
-                           'name', 'date')
+                           'series__name', 'name', 'date')
 
     # we also need checks and series
     patches = patches.prefetch_related(
         Prefetch('check_set', queryset=Check.objects.only(
             'context', 'user_id', 'patch_id', 'state', 'date')))
-    patches = patches.prefetch_related(
-        Prefetch('series', queryset=Series.objects.only('name')))
 
     paginator = Paginator(request, patches)