Files
netbox-plugin-services/netbox_services/filtersets.py
T
2026-08-16 13:10:26 +02:00

43 lines
1.1 KiB
Python

import django_filters
from django.db.models import Q
from netbox.filtersets import NetBoxModelFilterSet
from utilities.filtersets import register_filterset
from .models import Service, ServiceTemplate
@register_filterset
class ServiceTemplateFilterSet(NetBoxModelFilterSet):
class Meta:
model = ServiceTemplate
fields = ("id", "name", "status")
def search(self, queryset, name, value):
if not value.strip():
return queryset
return queryset.filter(
Q(name__icontains=value)
| Q(description__icontains=value),
)
@register_filterset
class ServiceFilterSet(NetBoxModelFilterSet):
service_template = django_filters.ModelMultipleChoiceFilter(
field_name="service_template",
queryset=ServiceTemplate.objects.all(),
)
class Meta:
model = Service
fields = ("id", "name", "status", "service_template", "tenant")
def search(self, queryset, name, value):
if not value.strip():
return queryset
return queryset.filter(
Q(name__icontains=value)
| Q(description__icontains=value),
)