From a90bafe6f082f9b734db4787caffb022cd46ea22 Mon Sep 17 00:00:00 2001 From: AlanCoding Date: Sun, 11 Dec 2016 07:31:04 -0500 Subject: [PATCH] move various items to prefetch for optimization --- awx/api/views.py | 2 ++ awx/main/access.py | 3 +++ 2 files changed, 5 insertions(+) diff --git a/awx/api/views.py b/awx/api/views.py index b82cb424d6..69dcbd064c 100644 --- a/awx/api/views.py +++ b/awx/api/views.py @@ -1024,6 +1024,7 @@ class ProjectList(ListCreateAPIView): 'update_role', 'read_role', ) + projects_qs = projects_qs.prefetch_related('last_job', 'created_by') return projects_qs @@ -1579,6 +1580,7 @@ class InventoryList(ListCreateAPIView): def get_queryset(self): qs = Inventory.accessible_objects(self.request.user, 'read_role') qs = qs.select_related('admin_role', 'read_role', 'update_role', 'use_role', 'adhoc_role') + qs = qs.prefetch_related('created_by', 'modified_by', 'organization') return qs diff --git a/awx/main/access.py b/awx/main/access.py index b1e9beebc6..95910fba20 100644 --- a/awx/main/access.py +++ b/awx/main/access.py @@ -1808,6 +1808,9 @@ class UnifiedJobTemplateAccess(BaseAccess): 'created_by', 'modified_by', 'next_schedule', + ) + # prefetch last/current jobs so we get the real instance + qs = qs.prefetch_related( 'last_job', 'current_job', )