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

#2102: Implement q search filter for device type components

jeremystretch 4 лет назад
Родитель
Сommit
031876964f
1 измененных файлов с 9 добавлено и 0 удалено
  1. 9 0
      netbox/dcim/filtersets.py

+ 9 - 0
netbox/dcim/filtersets.py

@@ -480,12 +480,21 @@ class DeviceTypeFilterSet(PrimaryModelFilterSet):
 
 
 class DeviceTypeComponentFilterSet(django_filters.FilterSet):
+    q = django_filters.CharFilter(
+        method='search',
+        label='Search',
+    )
     devicetype_id = django_filters.ModelMultipleChoiceFilter(
         queryset=DeviceType.objects.all(),
         field_name='device_type_id',
         label='Device type (ID)',
     )
 
+    def search(self, queryset, name, value):
+        if not value.strip():
+            return queryset
+        return queryset.filter(name__icontains=value)
+
 
 class ConsolePortTemplateFilterSet(ChangeLoggedModelFilterSet, DeviceTypeComponentFilterSet):