Просмотр исходного кода

Prefetch tagged VLANs for VMInterfaces

Jeremy Stretch 5 лет назад
Родитель
Сommit
9ea4f82eaa
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      netbox/virtualization/api/views.py

+ 3 - 1
netbox/virtualization/api/views.py

@@ -1,4 +1,4 @@
-from django.db.models import Count
+from django.db.models import Count, Prefetch
 from django.shortcuts import get_object_or_404
 from django.shortcuts import get_object_or_404
 from rest_framework.decorators import action
 from rest_framework.decorators import action
 from rest_framework.response import Response
 from rest_framework.response import Response
@@ -7,6 +7,7 @@ from dcim.models import Device
 from extras.api.serializers import RenderedGraphSerializer
 from extras.api.serializers import RenderedGraphSerializer
 from extras.api.views import CustomFieldModelViewSet
 from extras.api.views import CustomFieldModelViewSet
 from extras.models import Graph
 from extras.models import Graph
+from ipam.models import VLAN
 from utilities.api import ModelViewSet
 from utilities.api import ModelViewSet
 from utilities.utils import get_subquery
 from utilities.utils import get_subquery
 from virtualization import filters
 from virtualization import filters
@@ -80,6 +81,7 @@ class VMInterfaceViewSet(ModelViewSet):
     queryset = VMInterface.objects.filter(
     queryset = VMInterface.objects.filter(
         virtual_machine__isnull=False
         virtual_machine__isnull=False
     ).prefetch_related(
     ).prefetch_related(
+        Prefetch('tagged_vlans', queryset=VLAN.objects.unrestricted()),
         'virtual_machine', 'tags'
         'virtual_machine', 'tags'
     )
     )
     serializer_class = serializers.VMInterfaceSerializer
     serializer_class = serializers.VMInterfaceSerializer