Forráskód Böngészése

Move TagFilter to PrimaryFilterSet

jeremystretch 4 éve
szülő
commit
acc9ca7d7d

+ 0 - 5
netbox/circuits/filtersets.py

@@ -3,7 +3,6 @@ from django.db.models import Q
 
 
 from dcim.filtersets import CableTerminationFilterSet
 from dcim.filtersets import CableTerminationFilterSet
 from dcim.models import Region, Site, SiteGroup
 from dcim.models import Region, Site, SiteGroup
-from extras.filters import TagFilter
 from netbox.filtersets import ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, PrimaryModelFilterSet
 from netbox.filtersets import ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, PrimaryModelFilterSet
 from tenancy.filtersets import TenancyFilterSet
 from tenancy.filtersets import TenancyFilterSet
 from utilities.filters import TreeNodeMultipleChoiceFilter
 from utilities.filters import TreeNodeMultipleChoiceFilter
@@ -61,7 +60,6 @@ class ProviderFilterSet(PrimaryModelFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Provider
         model = Provider
@@ -94,7 +92,6 @@ class ProviderNetworkFilterSet(PrimaryModelFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Provider (slug)',
         label='Provider (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = ProviderNetwork
         model = ProviderNetwork
@@ -112,7 +109,6 @@ class ProviderNetworkFilterSet(PrimaryModelFilterSet):
 
 
 
 
 class CircuitTypeFilterSet(OrganizationalModelFilterSet):
 class CircuitTypeFilterSet(OrganizationalModelFilterSet):
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = CircuitType
         model = CircuitType
@@ -190,7 +186,6 @@ class CircuitFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Circuit
         model = Circuit

+ 0 - 22
netbox/dcim/filtersets.py

@@ -1,7 +1,6 @@
 import django_filters
 import django_filters
 from django.contrib.auth.models import User
 from django.contrib.auth.models import User
 
 
-from extras.filters import TagFilter
 from extras.filtersets import LocalConfigContextFilterSet
 from extras.filtersets import LocalConfigContextFilterSet
 from ipam.models import ASN, VRF
 from ipam.models import ASN, VRF
 from netbox.filtersets import (
 from netbox.filtersets import (
@@ -79,7 +78,6 @@ class RegionFilterSet(OrganizationalModelFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Parent region (slug)',
         label='Parent region (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Region
         model = Region
@@ -97,7 +95,6 @@ class SiteGroupFilterSet(OrganizationalModelFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Parent site group (slug)',
         label='Parent site group (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = SiteGroup
         model = SiteGroup
@@ -148,7 +145,6 @@ class SiteFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
         queryset=ASN.objects.all(),
         queryset=ASN.objects.all(),
         label='AS (ID)',
         label='AS (ID)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Site
         model = Site
@@ -225,7 +221,6 @@ class LocationFilterSet(TenancyFilterSet, OrganizationalModelFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Location (slug)',
         label='Location (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Location
         model = Location
@@ -241,7 +236,6 @@ class LocationFilterSet(TenancyFilterSet, OrganizationalModelFilterSet):
 
 
 
 
 class RackRoleFilterSet(OrganizationalModelFilterSet):
 class RackRoleFilterSet(OrganizationalModelFilterSet):
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = RackRole
         model = RackRole
@@ -325,7 +319,6 @@ class RackFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
     serial = django_filters.CharFilter(
     serial = django_filters.CharFilter(
         lookup_expr='iexact'
         lookup_expr='iexact'
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Rack
         model = Rack
@@ -389,7 +382,6 @@ class RackReservationFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
         to_field_name='username',
         to_field_name='username',
         label='User (name)',
         label='User (name)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = RackReservation
         model = RackReservation
@@ -407,7 +399,6 @@ class RackReservationFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
 
 
 
 
 class ManufacturerFilterSet(OrganizationalModelFilterSet):
 class ManufacturerFilterSet(OrganizationalModelFilterSet):
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Manufacturer
         model = Manufacturer
@@ -461,7 +452,6 @@ class DeviceTypeFilterSet(PrimaryModelFilterSet):
         method='_device_bays',
         method='_device_bays',
         label='Has device bays',
         label='Has device bays',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = DeviceType
         model = DeviceType
@@ -546,7 +536,6 @@ class ModuleTypeFilterSet(PrimaryModelFilterSet):
         method='_pass_through_ports',
         method='_pass_through_ports',
         label='Has pass-through ports',
         label='Has pass-through ports',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = ModuleType
         model = ModuleType
@@ -732,7 +721,6 @@ class InventoryItemTemplateFilterSet(ChangeLoggedModelFilterSet, DeviceTypeCompo
 
 
 
 
 class DeviceRoleFilterSet(OrganizationalModelFilterSet):
 class DeviceRoleFilterSet(OrganizationalModelFilterSet):
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = DeviceRole
         model = DeviceRole
@@ -751,7 +739,6 @@ class PlatformFilterSet(OrganizationalModelFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Manufacturer (slug)',
         label='Manufacturer (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Platform
         model = Platform
@@ -916,7 +903,6 @@ class DeviceFilterSet(PrimaryModelFilterSet, TenancyFilterSet, LocalConfigContex
         method='_device_bays',
         method='_device_bays',
         label='Has device bays',
         label='Has device bays',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Device
         model = Device
@@ -990,7 +976,6 @@ class ModuleFilterSet(PrimaryModelFilterSet):
         queryset=Device.objects.all(),
         queryset=Device.objects.all(),
         label='Device (ID)',
         label='Device (ID)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Module
         model = Module
@@ -1080,7 +1065,6 @@ class DeviceComponentFilterSet(django_filters.FilterSet):
         to_field_name='name',
         to_field_name='name',
         label='Virtual Chassis',
         label='Virtual Chassis',
     )
     )
-    tag = TagFilter()
 
 
     def search(self, queryset, name, value):
     def search(self, queryset, name, value):
         if not value.strip():
         if not value.strip():
@@ -1202,7 +1186,6 @@ class InterfaceFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableT
     )
     )
     mac_address = MultiValueMACAddressFilter()
     mac_address = MultiValueMACAddressFilter()
     wwn = MultiValueWWNFilter()
     wwn = MultiValueWWNFilter()
-    tag = TagFilter()
     vlan_id = django_filters.CharFilter(
     vlan_id = django_filters.CharFilter(
         method='filter_vlan_id',
         method='filter_vlan_id',
         label='Assigned VLAN'
         label='Assigned VLAN'
@@ -1377,7 +1360,6 @@ class InventoryItemFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet):
 
 
 
 
 class InventoryItemRoleFilterSet(OrganizationalModelFilterSet):
 class InventoryItemRoleFilterSet(OrganizationalModelFilterSet):
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = InventoryItemRole
         model = InventoryItemRole
@@ -1447,7 +1429,6 @@ class VirtualChassisFilterSet(PrimaryModelFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Tenant (slug)',
         label='Tenant (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = VirtualChassis
         model = VirtualChassis
@@ -1505,7 +1486,6 @@ class CableFilterSet(TenancyFilterSet, PrimaryModelFilterSet):
         method='filter_device',
         method='filter_device',
         field_name='device__site__slug'
         field_name='device__site__slug'
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Cable
         model = Cable
@@ -1571,7 +1551,6 @@ class PowerPanelFilterSet(PrimaryModelFilterSet):
         lookup_expr='in',
         lookup_expr='in',
         label='Location (ID)',
         label='Location (ID)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = PowerPanel
         model = PowerPanel
@@ -1641,7 +1620,6 @@ class PowerFeedFilterSet(PrimaryModelFilterSet, CableTerminationFilterSet, PathE
         choices=PowerFeedStatusChoices,
         choices=PowerFeedStatusChoices,
         null_value=None
         null_value=None
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = PowerFeed
         model = PowerFeed

+ 0 - 14
netbox/ipam/filtersets.py

@@ -6,7 +6,6 @@ from django.db.models import Q
 from netaddr.core import AddrFormatError
 from netaddr.core import AddrFormatError
 
 
 from dcim.models import Device, Interface, Region, Site, SiteGroup
 from dcim.models import Device, Interface, Region, Site, SiteGroup
-from extras.filters import TagFilter
 from netbox.filtersets import ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, PrimaryModelFilterSet
 from netbox.filtersets import ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, PrimaryModelFilterSet
 from tenancy.filtersets import TenancyFilterSet
 from tenancy.filtersets import TenancyFilterSet
 from utilities.filters import (
 from utilities.filters import (
@@ -63,7 +62,6 @@ class VRFFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
         to_field_name='name',
         to_field_name='name',
         label='Export target (name)',
         label='Export target (name)',
     )
     )
-    tag = TagFilter()
 
 
     def search(self, queryset, name, value):
     def search(self, queryset, name, value):
         if not value.strip():
         if not value.strip():
@@ -106,7 +104,6 @@ class RouteTargetFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
         to_field_name='rd',
         to_field_name='rd',
         label='Export VRF (RD)',
         label='Export VRF (RD)',
     )
     )
-    tag = TagFilter()
 
 
     def search(self, queryset, name, value):
     def search(self, queryset, name, value):
         if not value.strip():
         if not value.strip():
@@ -122,7 +119,6 @@ class RouteTargetFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
 
 
 
 
 class RIRFilterSet(OrganizationalModelFilterSet):
 class RIRFilterSet(OrganizationalModelFilterSet):
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = RIR
         model = RIR
@@ -152,7 +148,6 @@ class AggregateFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='RIR (slug)',
         label='RIR (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Aggregate
         model = Aggregate
@@ -218,7 +213,6 @@ class RoleFilterSet(OrganizationalModelFilterSet):
         method='search',
         method='search',
         label='Search',
         label='Search',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Role
         model = Role
@@ -347,7 +341,6 @@ class PrefixFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
         choices=PrefixStatusChoices,
         choices=PrefixStatusChoices,
         null_value=None
         null_value=None
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Prefix
         model = Prefix
@@ -453,7 +446,6 @@ class IPRangeFilterSet(TenancyFilterSet, PrimaryModelFilterSet):
         choices=IPRangeStatusChoices,
         choices=IPRangeStatusChoices,
         null_value=None
         null_value=None
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = IPRange
         model = IPRange
@@ -578,7 +570,6 @@ class IPAddressFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
     role = django_filters.MultipleChoiceFilter(
     role = django_filters.MultipleChoiceFilter(
         choices=IPAddressRoleChoices
         choices=IPAddressRoleChoices
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = IPAddress
         model = IPAddress
@@ -664,7 +655,6 @@ class FHRPGroupFilterSet(PrimaryModelFilterSet):
         queryset=IPAddress.objects.all(),
         queryset=IPAddress.objects.all(),
         method='filter_related_ip'
         method='filter_related_ip'
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = FHRPGroup
         model = FHRPGroup
@@ -737,7 +727,6 @@ class VLANGroupFilterSet(OrganizationalModelFilterSet):
     cluster = django_filters.NumberFilter(
     cluster = django_filters.NumberFilter(
         method='filter_scope'
         method='filter_scope'
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = VLANGroup
         model = VLANGroup
@@ -832,7 +821,6 @@ class VLANFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
         queryset=VirtualMachine.objects.all(),
         queryset=VirtualMachine.objects.all(),
         method='get_for_virtualmachine'
         method='get_for_virtualmachine'
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = VLAN
         model = VLAN
@@ -864,7 +852,6 @@ class ServiceTemplateFilterSet(PrimaryModelFilterSet):
         field_name='ports',
         field_name='ports',
         lookup_expr='contains'
         lookup_expr='contains'
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = ServiceTemplate
         model = ServiceTemplate
@@ -906,7 +893,6 @@ class ServiceFilterSet(PrimaryModelFilterSet):
         field_name='ports',
         field_name='ports',
         lookup_expr='contains'
         lookup_expr='contains'
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Service
         model = Service

+ 5 - 0
netbox/netbox/filtersets.py

@@ -120,6 +120,10 @@ class BaseFilterSet(django_filters.FilterSet):
     def get_additional_lookups(cls, existing_filter_name, existing_filter):
     def get_additional_lookups(cls, existing_filter_name, existing_filter):
         new_filters = {}
         new_filters = {}
 
 
+        # Skip on abstract models
+        if not cls._meta.model:
+            return {}
+
         # Skip nonstandard lookup expressions
         # Skip nonstandard lookup expressions
         if existing_filter.method is not None or existing_filter.lookup_expr not in ['exact', 'in']:
         if existing_filter.method is not None or existing_filter.lookup_expr not in ['exact', 'in']:
             return {}
             return {}
@@ -214,6 +218,7 @@ class ChangeLoggedModelFilterSet(BaseFilterSet):
 
 
 
 
 class PrimaryModelFilterSet(ChangeLoggedModelFilterSet):
 class PrimaryModelFilterSet(ChangeLoggedModelFilterSet):
+    tag = TagFilter()
 
 
     def __init__(self, *args, **kwargs):
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
         super().__init__(*args, **kwargs)

+ 0 - 6
netbox/tenancy/filtersets.py

@@ -1,7 +1,6 @@
 import django_filters
 import django_filters
 from django.db.models import Q
 from django.db.models import Q
 
 
-from extras.filters import TagFilter
 from netbox.filtersets import ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, PrimaryModelFilterSet
 from netbox.filtersets import ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, PrimaryModelFilterSet
 from utilities.filters import ContentTypeFilter, TreeNodeMultipleChoiceFilter
 from utilities.filters import ContentTypeFilter, TreeNodeMultipleChoiceFilter
 from .models import *
 from .models import *
@@ -33,7 +32,6 @@ class TenantGroupFilterSet(OrganizationalModelFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Tenant group (slug)',
         label='Tenant group (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = TenantGroup
         model = TenantGroup
@@ -58,7 +56,6 @@ class TenantFilterSet(PrimaryModelFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Tenant group (slug)',
         label='Tenant group (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Tenant
         model = Tenant
@@ -119,7 +116,6 @@ class ContactGroupFilterSet(OrganizationalModelFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Contact group (slug)',
         label='Contact group (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = ContactGroup
         model = ContactGroup
@@ -127,7 +123,6 @@ class ContactGroupFilterSet(OrganizationalModelFilterSet):
 
 
 
 
 class ContactRoleFilterSet(OrganizationalModelFilterSet):
 class ContactRoleFilterSet(OrganizationalModelFilterSet):
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = ContactRole
         model = ContactRole
@@ -152,7 +147,6 @@ class ContactFilterSet(PrimaryModelFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Contact group (slug)',
         label='Contact group (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Contact
         model = Contact

+ 0 - 6
netbox/virtualization/filtersets.py

@@ -2,7 +2,6 @@ import django_filters
 from django.db.models import Q
 from django.db.models import Q
 
 
 from dcim.models import DeviceRole, Platform, Region, Site, SiteGroup
 from dcim.models import DeviceRole, Platform, Region, Site, SiteGroup
-from extras.filters import TagFilter
 from extras.filtersets import LocalConfigContextFilterSet
 from extras.filtersets import LocalConfigContextFilterSet
 from netbox.filtersets import OrganizationalModelFilterSet, PrimaryModelFilterSet
 from netbox.filtersets import OrganizationalModelFilterSet, PrimaryModelFilterSet
 from tenancy.filtersets import TenancyFilterSet
 from tenancy.filtersets import TenancyFilterSet
@@ -20,7 +19,6 @@ __all__ = (
 
 
 
 
 class ClusterTypeFilterSet(OrganizationalModelFilterSet):
 class ClusterTypeFilterSet(OrganizationalModelFilterSet):
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = ClusterType
         model = ClusterType
@@ -28,7 +26,6 @@ class ClusterTypeFilterSet(OrganizationalModelFilterSet):
 
 
 
 
 class ClusterGroupFilterSet(OrganizationalModelFilterSet):
 class ClusterGroupFilterSet(OrganizationalModelFilterSet):
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = ClusterGroup
         model = ClusterGroup
@@ -96,7 +93,6 @@ class ClusterFilterSet(PrimaryModelFilterSet, TenancyFilterSet):
         to_field_name='slug',
         to_field_name='slug',
         label='Cluster type (slug)',
         label='Cluster type (slug)',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = Cluster
         model = Cluster
@@ -217,7 +213,6 @@ class VirtualMachineFilterSet(PrimaryModelFilterSet, TenancyFilterSet, LocalConf
         method='_has_primary_ip',
         method='_has_primary_ip',
         label='Has a primary IP',
         label='Has a primary IP',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = VirtualMachine
         model = VirtualMachine
@@ -278,7 +273,6 @@ class VMInterfaceFilterSet(PrimaryModelFilterSet):
     mac_address = MultiValueMACAddressFilter(
     mac_address = MultiValueMACAddressFilter(
         label='MAC address',
         label='MAC address',
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = VMInterface
         model = VMInterface

+ 0 - 4
netbox/wireless/filtersets.py

@@ -2,7 +2,6 @@ import django_filters
 from django.db.models import Q
 from django.db.models import Q
 
 
 from dcim.choices import LinkStatusChoices
 from dcim.choices import LinkStatusChoices
-from extras.filters import TagFilter
 from ipam.models import VLAN
 from ipam.models import VLAN
 from netbox.filtersets import OrganizationalModelFilterSet, PrimaryModelFilterSet
 from netbox.filtersets import OrganizationalModelFilterSet, PrimaryModelFilterSet
 from utilities.filters import MultiValueNumberFilter, TreeNodeMultipleChoiceFilter
 from utilities.filters import MultiValueNumberFilter, TreeNodeMultipleChoiceFilter
@@ -25,7 +24,6 @@ class WirelessLANGroupFilterSet(OrganizationalModelFilterSet):
         queryset=WirelessLANGroup.objects.all(),
         queryset=WirelessLANGroup.objects.all(),
         to_field_name='slug'
         to_field_name='slug'
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = WirelessLANGroup
         model = WirelessLANGroup
@@ -57,7 +55,6 @@ class WirelessLANFilterSet(PrimaryModelFilterSet):
     auth_cipher = django_filters.MultipleChoiceFilter(
     auth_cipher = django_filters.MultipleChoiceFilter(
         choices=WirelessAuthCipherChoices
         choices=WirelessAuthCipherChoices
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = WirelessLAN
         model = WirelessLAN
@@ -89,7 +86,6 @@ class WirelessLinkFilterSet(PrimaryModelFilterSet):
     auth_cipher = django_filters.MultipleChoiceFilter(
     auth_cipher = django_filters.MultipleChoiceFilter(
         choices=WirelessAuthCipherChoices
         choices=WirelessAuthCipherChoices
     )
     )
-    tag = TagFilter()
 
 
     class Meta:
     class Meta:
         model = WirelessLink
         model = WirelessLink