Parcourir la source

Fixes #21402: Prefetch device_type and manufacturer for brief mode API responses (#21616)

* Fixes #21402: Prefetch device_type and manufacturer for brief mode API responses

Add select_related for device_type__manufacturer on the DeviceViewSet
queryset to prevent N+1 queries when rendering unnamed devices in brief
mode.

* Use prefetch_related instead of select_related for device_type__manufacturer
pobradovic08 il y a 1 jour
Parent
commit
f3c34b30ec
1 fichiers modifiés avec 1 ajouts et 0 suppressions
  1. 1 0
      netbox/dcim/api/views.py

+ 1 - 0
netbox/dcim/api/views.py

@@ -405,6 +405,7 @@ class DeviceViewSet(
     NetBoxModelViewSet
     NetBoxModelViewSet
 ):
 ):
     queryset = Device.objects.prefetch_related(
     queryset = Device.objects.prefetch_related(
+        'device_type__manufacturer',  # Referenced by Device.__str__() for unnamed devices
         'parent_bay',  # Referenced by DeviceSerializer.get_parent_device()
         'parent_bay',  # Referenced by DeviceSerializer.get_parent_device()
     )
     )
     filterset_class = filtersets.DeviceFilterSet
     filterset_class = filtersets.DeviceFilterSet