|
@@ -6,7 +6,7 @@ from netaddr.core import AddrFormatError
|
|
|
|
|
|
|
|
from dcim.models import DeviceRole, Interface, Platform, Region, Site
|
|
from dcim.models import DeviceRole, Interface, Platform, Region, Site
|
|
|
from extras.filters import CustomFieldFilterSet
|
|
from extras.filters import CustomFieldFilterSet
|
|
|
-from tenancy.models import Tenant
|
|
|
|
|
|
|
+from tenancy.filters import TenancyFilterSet
|
|
|
from utilities.filters import NameSlugSearchFilterSet, NumericInFilter, TagFilter, TreeNodeMultipleChoiceFilter
|
|
from utilities.filters import NameSlugSearchFilterSet, NumericInFilter, TagFilter, TreeNodeMultipleChoiceFilter
|
|
|
from .constants import VM_STATUS_CHOICES
|
|
from .constants import VM_STATUS_CHOICES
|
|
|
from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine
|
|
from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine
|
|
@@ -80,7 +80,7 @@ class ClusterFilter(CustomFieldFilterSet):
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
-class VirtualMachineFilter(CustomFieldFilterSet):
|
|
|
|
|
|
|
+class VirtualMachineFilter(TenancyFilterSet, CustomFieldFilterSet):
|
|
|
id__in = NumericInFilter(
|
|
id__in = NumericInFilter(
|
|
|
field_name='id',
|
|
field_name='id',
|
|
|
lookup_expr='in'
|
|
lookup_expr='in'
|
|
@@ -151,16 +151,6 @@ class VirtualMachineFilter(CustomFieldFilterSet):
|
|
|
to_field_name='slug',
|
|
to_field_name='slug',
|
|
|
label='Role (slug)',
|
|
label='Role (slug)',
|
|
|
)
|
|
)
|
|
|
- tenant_id = django_filters.ModelMultipleChoiceFilter(
|
|
|
|
|
- queryset=Tenant.objects.all(),
|
|
|
|
|
- label='Tenant (ID)',
|
|
|
|
|
- )
|
|
|
|
|
- tenant = django_filters.ModelMultipleChoiceFilter(
|
|
|
|
|
- field_name='tenant__slug',
|
|
|
|
|
- queryset=Tenant.objects.all(),
|
|
|
|
|
- to_field_name='slug',
|
|
|
|
|
- label='Tenant (slug)',
|
|
|
|
|
- )
|
|
|
|
|
platform_id = django_filters.ModelMultipleChoiceFilter(
|
|
platform_id = django_filters.ModelMultipleChoiceFilter(
|
|
|
queryset=Platform.objects.all(),
|
|
queryset=Platform.objects.all(),
|
|
|
label='Platform (ID)',
|
|
label='Platform (ID)',
|