AC-655 Add select_related to reduce number of queries for inventory views.

This commit is contained in:
Chris Church
2013-11-25 15:43:56 -05:00
parent dc4b7d0960
commit f29809a807
3 changed files with 6 additions and 3 deletions

View File

@@ -570,6 +570,7 @@ class GroupTreeSerializer(GroupSerializer):
if obj is None:
return {}
children_qs = obj.children.filter(active=True)
children_qs = children_qs.select_related('inventory', 'inventory_source')
return GroupTreeSerializer(children_qs, many=True).data

View File

@@ -790,6 +790,7 @@ class InventoryTreeView(RetrieveAPIView):
def retrieve(self, request, *args, **kwargs):
inventory = self.get_object()
groups_qs = inventory.root_groups.filter(active=True)
groups_qs = groups_qs.select_related('inventory', 'inventory_source')
data = GroupTreeSerializer(groups_qs, many=True).data
return Response(data)