Explorar el Código

Simplified filter_device() for Interfaces

Jeremy Stretch hace 7 años
padre
commit
71dee2758b
Se han modificado 1 ficheros con 2 adiciones y 3 borrados
  1. 2 3
      netbox/dcim/filters.py

+ 2 - 3
netbox/dcim/filters.py

@@ -728,8 +728,7 @@ class PowerOutletFilter(DeviceComponentFilterSet):
 
 
 class InterfaceFilter(django_filters.FilterSet):
 class InterfaceFilter(django_filters.FilterSet):
     """
     """
-    Not using DeviceComponentFilterSet for Interfaces because we need to glean the ordering logic from the parent
-    Device's DeviceType.
+    Not using DeviceComponentFilterSet for Interfaces because we need to check for VirtualChassis membership.
     """
     """
     device = django_filters.CharFilter(
     device = django_filters.CharFilter(
         method='filter_device',
         method='filter_device',
@@ -771,7 +770,7 @@ class InterfaceFilter(django_filters.FilterSet):
     def filter_device(self, queryset, name, value):
     def filter_device(self, queryset, name, value):
         try:
         try:
             device = Device.objects.get(**{name: value})
             device = Device.objects.get(**{name: value})
-            vc_interface_ids = [i['id'] for i in device.vc_interfaces.values('id')]
+            vc_interface_ids = device.vc_interfaces.values_list('id', flat=True)
             return queryset.filter(pk__in=vc_interface_ids)
             return queryset.filter(pk__in=vc_interface_ids)
         except Device.DoesNotExist:
         except Device.DoesNotExist:
             return queryset.none()
             return queryset.none()