From: Stephen Finucane Date: Mon, 29 Oct 2018 15:46:39 +0000 (+0000) Subject: views: Use select_related, not prefetch_related X-Git-Tag: v2.2.0-rc1~230 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=780b1a2d07adea0ae2372665b2caefc85f432c9f;p=thirdparty%2Fpatchwork.git views: Use select_related, not prefetch_related 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 Signed-off-by: Stephen Finucane Closes: #223 Fixes: 76505e91 ("models: Convert Series-Patch relationship to 1:N") Signed-off-by: Daniel Axtens --- diff --git a/patchwork/views/__init__.py b/patchwork/views/__init__.py index 178b3d41..cea61486 100644 --- a/patchwork/views/__init__.py +++ b/patchwork/views/__init__.py @@ -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)