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 5551e35dc6..e20d5fed12 100644 --- a/awx/main/access.py +++ b/awx/main/access.py @@ -1809,6 +1809,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', )