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

Bypass restriction for querysets used for filtering by related object

Jeremy Stretch 5 лет назад
Родитель
Сommit
ed0b38c7a7

+ 15 - 15
netbox/circuits/filters.py

@@ -24,13 +24,13 @@ class ProviderFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFilte
         label='Search',
         label='Search',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='circuits__terminations__site__region',
         field_name='circuits__terminations__site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='circuits__terminations__site__region',
         field_name='circuits__terminations__site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
@@ -38,12 +38,12 @@ class ProviderFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFilte
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
         field_name='circuits__terminations__site',
         field_name='circuits__terminations__site',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site',
         label='Site',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='circuits__terminations__site__slug',
         field_name='circuits__terminations__site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
@@ -78,22 +78,22 @@ class CircuitFilterSet(BaseFilterSet, CustomFieldFilterSet, TenancyFilterSet, Cr
         label='Search',
         label='Search',
     )
     )
     provider_id = django_filters.ModelMultipleChoiceFilter(
     provider_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Provider.objects.all(),
+        queryset=Provider.objects.unrestricted(),
         label='Provider (ID)',
         label='Provider (ID)',
     )
     )
     provider = django_filters.ModelMultipleChoiceFilter(
     provider = django_filters.ModelMultipleChoiceFilter(
         field_name='provider__slug',
         field_name='provider__slug',
-        queryset=Provider.objects.all(),
+        queryset=Provider.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Provider (slug)',
         label='Provider (slug)',
     )
     )
     type_id = django_filters.ModelMultipleChoiceFilter(
     type_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=CircuitType.objects.all(),
+        queryset=CircuitType.objects.unrestricted(),
         label='Circuit type (ID)',
         label='Circuit type (ID)',
     )
     )
     type = django_filters.ModelMultipleChoiceFilter(
     type = django_filters.ModelMultipleChoiceFilter(
         field_name='type__slug',
         field_name='type__slug',
-        queryset=CircuitType.objects.all(),
+        queryset=CircuitType.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Circuit type (slug)',
         label='Circuit type (slug)',
     )
     )
@@ -103,23 +103,23 @@ class CircuitFilterSet(BaseFilterSet, CustomFieldFilterSet, TenancyFilterSet, Cr
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
         field_name='terminations__site',
         field_name='terminations__site',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='terminations__site__slug',
         field_name='terminations__site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='terminations__site__region',
         field_name='terminations__site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='terminations__site__region',
         field_name='terminations__site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
@@ -150,16 +150,16 @@ class CircuitTerminationFilterSet(BaseFilterSet):
         label='Search',
         label='Search',
     )
     )
     circuit_id = django_filters.ModelMultipleChoiceFilter(
     circuit_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Circuit.objects.all(),
+        queryset=Circuit.objects.unrestricted(),
         label='Circuit',
         label='Circuit',
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='site__slug',
         field_name='site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )

+ 77 - 77
netbox/dcim/filters.py

@@ -62,12 +62,12 @@ __all__ = (
 
 
 class RegionFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
 class RegionFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
     parent_id = django_filters.ModelMultipleChoiceFilter(
     parent_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         label='Parent region (ID)',
         label='Parent region (ID)',
     )
     )
     parent = django_filters.ModelMultipleChoiceFilter(
     parent = django_filters.ModelMultipleChoiceFilter(
         field_name='parent__slug',
         field_name='parent__slug',
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Parent region (slug)',
         label='Parent region (slug)',
     )
     )
@@ -87,13 +87,13 @@ class SiteFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, Creat
         null_value=None
         null_value=None
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='region',
         field_name='region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='region',
         field_name='region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
@@ -131,35 +131,35 @@ class SiteFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, Creat
 
 
 class RackGroupFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
 class RackGroupFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
         label='Region (slug)',
         label='Region (slug)',
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='site__slug',
         field_name='site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
     parent_id = django_filters.ModelMultipleChoiceFilter(
     parent_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=RackGroup.objects.all(),
+        queryset=RackGroup.objects.unrestricted(),
         label='Rack group (ID)',
         label='Rack group (ID)',
     )
     )
     parent = django_filters.ModelMultipleChoiceFilter(
     parent = django_filters.ModelMultipleChoiceFilter(
         field_name='parent__slug',
         field_name='parent__slug',
-        queryset=RackGroup.objects.all(),
+        queryset=RackGroup.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Rack group (slug)',
         label='Rack group (slug)',
     )
     )
@@ -182,36 +182,36 @@ class RackFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, Creat
         label='Search',
         label='Search',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
         label='Region (slug)',
         label='Region (slug)',
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='site__slug',
         field_name='site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
     group_id = TreeNodeMultipleChoiceFilter(
     group_id = TreeNodeMultipleChoiceFilter(
-        queryset=RackGroup.objects.all(),
+        queryset=RackGroup.objects.unrestricted(),
         field_name='group',
         field_name='group',
         lookup_expr='in',
         lookup_expr='in',
         label='Rack group (ID)',
         label='Rack group (ID)',
     )
     )
     group = TreeNodeMultipleChoiceFilter(
     group = TreeNodeMultipleChoiceFilter(
-        queryset=RackGroup.objects.all(),
+        queryset=RackGroup.objects.unrestricted(),
         field_name='group',
         field_name='group',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
@@ -222,12 +222,12 @@ class RackFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, Creat
         null_value=None
         null_value=None
     )
     )
     role_id = django_filters.ModelMultipleChoiceFilter(
     role_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=RackRole.objects.all(),
+        queryset=RackRole.objects.unrestricted(),
         label='Role (ID)',
         label='Role (ID)',
     )
     )
     role = django_filters.ModelMultipleChoiceFilter(
     role = django_filters.ModelMultipleChoiceFilter(
         field_name='role__slug',
         field_name='role__slug',
-        queryset=RackRole.objects.all(),
+        queryset=RackRole.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Role (slug)',
         label='Role (slug)',
     )
     )
@@ -261,28 +261,28 @@ class RackReservationFilterSet(BaseFilterSet, TenancyFilterSet):
         label='Search',
         label='Search',
     )
     )
     rack_id = django_filters.ModelMultipleChoiceFilter(
     rack_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Rack.objects.all(),
+        queryset=Rack.objects.unrestricted(),
         label='Rack (ID)',
         label='Rack (ID)',
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
         field_name='rack__site',
         field_name='rack__site',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='rack__site__slug',
         field_name='rack__site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
     group_id = TreeNodeMultipleChoiceFilter(
     group_id = TreeNodeMultipleChoiceFilter(
-        queryset=RackGroup.objects.all(),
+        queryset=RackGroup.objects.unrestricted(),
         field_name='rack__group',
         field_name='rack__group',
         lookup_expr='in',
         lookup_expr='in',
         label='Rack group (ID)',
         label='Rack group (ID)',
     )
     )
     group = TreeNodeMultipleChoiceFilter(
     group = TreeNodeMultipleChoiceFilter(
-        queryset=RackGroup.objects.all(),
+        queryset=RackGroup.objects.unrestricted(),
         field_name='rack__group',
         field_name='rack__group',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
@@ -328,12 +328,12 @@ class DeviceTypeFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFil
         label='Search',
         label='Search',
     )
     )
     manufacturer_id = django_filters.ModelMultipleChoiceFilter(
     manufacturer_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Manufacturer.objects.all(),
+        queryset=Manufacturer.objects.unrestricted(),
         label='Manufacturer (ID)',
         label='Manufacturer (ID)',
     )
     )
     manufacturer = django_filters.ModelMultipleChoiceFilter(
     manufacturer = django_filters.ModelMultipleChoiceFilter(
         field_name='manufacturer__slug',
         field_name='manufacturer__slug',
-        queryset=Manufacturer.objects.all(),
+        queryset=Manufacturer.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Manufacturer (slug)',
         label='Manufacturer (slug)',
     )
     )
@@ -410,7 +410,7 @@ class DeviceTypeFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFil
 
 
 class DeviceTypeComponentFilterSet(NameSlugSearchFilterSet):
 class DeviceTypeComponentFilterSet(NameSlugSearchFilterSet):
     devicetype_id = django_filters.ModelMultipleChoiceFilter(
     devicetype_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=DeviceType.objects.all(),
+        queryset=DeviceType.objects.unrestricted(),
         field_name='device_type_id',
         field_name='device_type_id',
         label='Device type (ID)',
         label='Device type (ID)',
     )
     )
@@ -482,12 +482,12 @@ class DeviceRoleFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
 class PlatformFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
 class PlatformFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
     manufacturer_id = django_filters.ModelMultipleChoiceFilter(
     manufacturer_id = django_filters.ModelMultipleChoiceFilter(
         field_name='manufacturer',
         field_name='manufacturer',
-        queryset=Manufacturer.objects.all(),
+        queryset=Manufacturer.objects.unrestricted(),
         label='Manufacturer (ID)',
         label='Manufacturer (ID)',
     )
     )
     manufacturer = django_filters.ModelMultipleChoiceFilter(
     manufacturer = django_filters.ModelMultipleChoiceFilter(
         field_name='manufacturer__slug',
         field_name='manufacturer__slug',
-        queryset=Manufacturer.objects.all(),
+        queryset=Manufacturer.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Manufacturer (slug)',
         label='Manufacturer (slug)',
     )
     )
@@ -510,81 +510,81 @@ class DeviceFilterSet(
     )
     )
     manufacturer_id = django_filters.ModelMultipleChoiceFilter(
     manufacturer_id = django_filters.ModelMultipleChoiceFilter(
         field_name='device_type__manufacturer',
         field_name='device_type__manufacturer',
-        queryset=Manufacturer.objects.all(),
+        queryset=Manufacturer.objects.unrestricted(),
         label='Manufacturer (ID)',
         label='Manufacturer (ID)',
     )
     )
     manufacturer = django_filters.ModelMultipleChoiceFilter(
     manufacturer = django_filters.ModelMultipleChoiceFilter(
         field_name='device_type__manufacturer__slug',
         field_name='device_type__manufacturer__slug',
-        queryset=Manufacturer.objects.all(),
+        queryset=Manufacturer.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Manufacturer (slug)',
         label='Manufacturer (slug)',
     )
     )
     device_type_id = django_filters.ModelMultipleChoiceFilter(
     device_type_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=DeviceType.objects.all(),
+        queryset=DeviceType.objects.unrestricted(),
         label='Device type (ID)',
         label='Device type (ID)',
     )
     )
     role_id = django_filters.ModelMultipleChoiceFilter(
     role_id = django_filters.ModelMultipleChoiceFilter(
         field_name='device_role_id',
         field_name='device_role_id',
-        queryset=DeviceRole.objects.all(),
+        queryset=DeviceRole.objects.unrestricted(),
         label='Role (ID)',
         label='Role (ID)',
     )
     )
     role = django_filters.ModelMultipleChoiceFilter(
     role = django_filters.ModelMultipleChoiceFilter(
         field_name='device_role__slug',
         field_name='device_role__slug',
-        queryset=DeviceRole.objects.all(),
+        queryset=DeviceRole.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Role (slug)',
         label='Role (slug)',
     )
     )
     platform_id = django_filters.ModelMultipleChoiceFilter(
     platform_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Platform.objects.all(),
+        queryset=Platform.objects.unrestricted(),
         label='Platform (ID)',
         label='Platform (ID)',
     )
     )
     platform = django_filters.ModelMultipleChoiceFilter(
     platform = django_filters.ModelMultipleChoiceFilter(
         field_name='platform__slug',
         field_name='platform__slug',
-        queryset=Platform.objects.all(),
+        queryset=Platform.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Platform (slug)',
         label='Platform (slug)',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
         label='Region (slug)',
         label='Region (slug)',
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='site__slug',
         field_name='site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site name (slug)',
         label='Site name (slug)',
     )
     )
     rack_group_id = TreeNodeMultipleChoiceFilter(
     rack_group_id = TreeNodeMultipleChoiceFilter(
-        queryset=RackGroup.objects.all(),
+        queryset=RackGroup.objects.unrestricted(),
         field_name='rack__group',
         field_name='rack__group',
         lookup_expr='in',
         lookup_expr='in',
         label='Rack group (ID)',
         label='Rack group (ID)',
     )
     )
     rack_id = django_filters.ModelMultipleChoiceFilter(
     rack_id = django_filters.ModelMultipleChoiceFilter(
         field_name='rack',
         field_name='rack',
-        queryset=Rack.objects.all(),
+        queryset=Rack.objects.unrestricted(),
         label='Rack (ID)',
         label='Rack (ID)',
     )
     )
     cluster_id = django_filters.ModelMultipleChoiceFilter(
     cluster_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Cluster.objects.all(),
+        queryset=Cluster.objects.unrestricted(),
         label='VM cluster (ID)',
         label='VM cluster (ID)',
     )
     )
     model = django_filters.ModelMultipleChoiceFilter(
     model = django_filters.ModelMultipleChoiceFilter(
         field_name='device_type__slug',
         field_name='device_type__slug',
-        queryset=DeviceType.objects.all(),
+        queryset=DeviceType.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Device model (slug)',
         label='Device model (slug)',
     )
     )
@@ -609,7 +609,7 @@ class DeviceFilterSet(
     )
     )
     virtual_chassis_id = django_filters.ModelMultipleChoiceFilter(
     virtual_chassis_id = django_filters.ModelMultipleChoiceFilter(
         field_name='virtual_chassis',
         field_name='virtual_chassis',
-        queryset=VirtualChassis.objects.all(),
+        queryset=VirtualChassis.objects.unrestricted(),
         label='Virtual chassis (ID)',
         label='Virtual chassis (ID)',
     )
     )
     virtual_chassis_member = django_filters.BooleanFilter(
     virtual_chassis_member = django_filters.BooleanFilter(
@@ -707,13 +707,13 @@ class DeviceComponentFilterSet(django_filters.FilterSet):
         label='Search',
         label='Search',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='device__site__region',
         field_name='device__site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='device__site__region',
         field_name='device__site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
@@ -721,22 +721,22 @@ class DeviceComponentFilterSet(django_filters.FilterSet):
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
         field_name='device__site',
         field_name='device__site',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='device__site__slug',
         field_name='device__site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site name (slug)',
         label='Site name (slug)',
     )
     )
     device_id = django_filters.ModelMultipleChoiceFilter(
     device_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Device.objects.all(),
+        queryset=Device.objects.unrestricted(),
         label='Device (ID)',
         label='Device (ID)',
     )
     )
     device = django_filters.ModelMultipleChoiceFilter(
     device = django_filters.ModelMultipleChoiceFilter(
         field_name='device__name',
         field_name='device__name',
-        queryset=Device.objects.all(),
+        queryset=Device.objects.unrestricted(),
         to_field_name='name',
         to_field_name='name',
         label='Device (name)',
         label='Device (name)',
     )
     )
@@ -843,7 +843,7 @@ class InterfaceFilterSet(BaseFilterSet, DeviceComponentFilterSet):
     )
     )
     lag_id = django_filters.ModelMultipleChoiceFilter(
     lag_id = django_filters.ModelMultipleChoiceFilter(
         field_name='lag',
         field_name='lag',
-        queryset=Interface.objects.all(),
+        queryset=Interface.objects.unrestricted(),
         label='LAG interface (ID)',
         label='LAG interface (ID)',
     )
     )
     mac_address = MultiValueMACAddressFilter()
     mac_address = MultiValueMACAddressFilter()
@@ -950,13 +950,13 @@ class InventoryItemFilterSet(BaseFilterSet, DeviceComponentFilterSet):
         label='Search',
         label='Search',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='device__site__region',
         field_name='device__site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='device__site__region',
         field_name='device__site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
@@ -964,35 +964,35 @@ class InventoryItemFilterSet(BaseFilterSet, DeviceComponentFilterSet):
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
         field_name='device__site',
         field_name='device__site',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='device__site__slug',
         field_name='device__site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site name (slug)',
         label='Site name (slug)',
     )
     )
     device_id = django_filters.ModelChoiceFilter(
     device_id = django_filters.ModelChoiceFilter(
-        queryset=Device.objects.all(),
+        queryset=Device.objects.unrestricted(),
         label='Device (ID)',
         label='Device (ID)',
     )
     )
     device = django_filters.ModelChoiceFilter(
     device = django_filters.ModelChoiceFilter(
-        queryset=Device.objects.all(),
+        queryset=Device.objects.unrestricted(),
         to_field_name='name',
         to_field_name='name',
         label='Device (name)',
         label='Device (name)',
     )
     )
     parent_id = django_filters.ModelMultipleChoiceFilter(
     parent_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=InventoryItem.objects.all(),
+        queryset=InventoryItem.objects.unrestricted(),
         label='Parent inventory item (ID)',
         label='Parent inventory item (ID)',
     )
     )
     manufacturer_id = django_filters.ModelMultipleChoiceFilter(
     manufacturer_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Manufacturer.objects.all(),
+        queryset=Manufacturer.objects.unrestricted(),
         label='Manufacturer (ID)',
         label='Manufacturer (ID)',
     )
     )
     manufacturer = django_filters.ModelMultipleChoiceFilter(
     manufacturer = django_filters.ModelMultipleChoiceFilter(
         field_name='manufacturer__slug',
         field_name='manufacturer__slug',
-        queryset=Manufacturer.objects.all(),
+        queryset=Manufacturer.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Manufacturer (slug)',
         label='Manufacturer (slug)',
     )
     )
@@ -1023,13 +1023,13 @@ class VirtualChassisFilterSet(BaseFilterSet):
         label='Search',
         label='Search',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='master__site__region',
         field_name='master__site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='master__site__region',
         field_name='master__site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
@@ -1037,23 +1037,23 @@ class VirtualChassisFilterSet(BaseFilterSet):
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
         field_name='master__site',
         field_name='master__site',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='master__site__slug',
         field_name='master__site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site name (slug)',
         label='Site name (slug)',
     )
     )
     tenant_id = django_filters.ModelMultipleChoiceFilter(
     tenant_id = django_filters.ModelMultipleChoiceFilter(
         field_name='master__tenant',
         field_name='master__tenant',
-        queryset=Tenant.objects.all(),
+        queryset=Tenant.objects.unrestricted(),
         label='Tenant (ID)',
         label='Tenant (ID)',
     )
     )
     tenant = django_filters.ModelMultipleChoiceFilter(
     tenant = django_filters.ModelMultipleChoiceFilter(
         field_name='master__tenant__slug',
         field_name='master__tenant__slug',
-        queryset=Tenant.objects.all(),
+        queryset=Tenant.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Tenant (slug)',
         label='Tenant (slug)',
     )
     )
@@ -1239,30 +1239,30 @@ class PowerPanelFilterSet(BaseFilterSet):
         label='Search',
         label='Search',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
         label='Region (slug)',
         label='Region (slug)',
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='site__slug',
         field_name='site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site name (slug)',
         label='Site name (slug)',
     )
     )
     rack_group_id = TreeNodeMultipleChoiceFilter(
     rack_group_id = TreeNodeMultipleChoiceFilter(
-        queryset=RackGroup.objects.all(),
+        queryset=RackGroup.objects.unrestricted(),
         field_name='rack_group',
         field_name='rack_group',
         lookup_expr='in',
         lookup_expr='in',
         label='Rack group (ID)',
         label='Rack group (ID)',
@@ -1288,13 +1288,13 @@ class PowerFeedFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFilt
         label='Search',
         label='Search',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='power_panel__site__region',
         field_name='power_panel__site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='power_panel__site__region',
         field_name='power_panel__site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
@@ -1302,22 +1302,22 @@ class PowerFeedFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFilt
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
         field_name='power_panel__site',
         field_name='power_panel__site',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='power_panel__site__slug',
         field_name='power_panel__site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site name (slug)',
         label='Site name (slug)',
     )
     )
     power_panel_id = django_filters.ModelMultipleChoiceFilter(
     power_panel_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=PowerPanel.objects.all(),
+        queryset=PowerPanel.objects.unrestricted(),
         label='Power panel (ID)',
         label='Power panel (ID)',
     )
     )
     rack_id = django_filters.ModelMultipleChoiceFilter(
     rack_id = django_filters.ModelMultipleChoiceFilter(
         field_name='rack',
         field_name='rack',
-        queryset=Rack.objects.all(),
+        queryset=Rack.objects.unrestricted(),
         label='Rack (ID)',
         label='Rack (ID)',
     )
     )
     tag = TagFilter()
     tag = TagFilter()

+ 16 - 16
netbox/extras/filters.py

@@ -130,89 +130,89 @@ class ConfigContextFilterSet(BaseFilterSet):
     )
     )
     region_id = django_filters.ModelMultipleChoiceFilter(
     region_id = django_filters.ModelMultipleChoiceFilter(
         field_name='regions',
         field_name='regions',
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         label='Region',
         label='Region',
     )
     )
     region = django_filters.ModelMultipleChoiceFilter(
     region = django_filters.ModelMultipleChoiceFilter(
         field_name='regions__slug',
         field_name='regions__slug',
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Region (slug)',
         label='Region (slug)',
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
         field_name='sites',
         field_name='sites',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site',
         label='Site',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='sites__slug',
         field_name='sites__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
     role_id = django_filters.ModelMultipleChoiceFilter(
     role_id = django_filters.ModelMultipleChoiceFilter(
         field_name='roles',
         field_name='roles',
-        queryset=DeviceRole.objects.all(),
+        queryset=DeviceRole.objects.unrestricted(),
         label='Role',
         label='Role',
     )
     )
     role = django_filters.ModelMultipleChoiceFilter(
     role = django_filters.ModelMultipleChoiceFilter(
         field_name='roles__slug',
         field_name='roles__slug',
-        queryset=DeviceRole.objects.all(),
+        queryset=DeviceRole.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Role (slug)',
         label='Role (slug)',
     )
     )
     platform_id = django_filters.ModelMultipleChoiceFilter(
     platform_id = django_filters.ModelMultipleChoiceFilter(
         field_name='platforms',
         field_name='platforms',
-        queryset=Platform.objects.all(),
+        queryset=Platform.objects.unrestricted(),
         label='Platform',
         label='Platform',
     )
     )
     platform = django_filters.ModelMultipleChoiceFilter(
     platform = django_filters.ModelMultipleChoiceFilter(
         field_name='platforms__slug',
         field_name='platforms__slug',
-        queryset=Platform.objects.all(),
+        queryset=Platform.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Platform (slug)',
         label='Platform (slug)',
     )
     )
     cluster_group_id = django_filters.ModelMultipleChoiceFilter(
     cluster_group_id = django_filters.ModelMultipleChoiceFilter(
         field_name='cluster_groups',
         field_name='cluster_groups',
-        queryset=ClusterGroup.objects.all(),
+        queryset=ClusterGroup.objects.unrestricted(),
         label='Cluster group',
         label='Cluster group',
     )
     )
     cluster_group = django_filters.ModelMultipleChoiceFilter(
     cluster_group = django_filters.ModelMultipleChoiceFilter(
         field_name='cluster_groups__slug',
         field_name='cluster_groups__slug',
-        queryset=ClusterGroup.objects.all(),
+        queryset=ClusterGroup.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Cluster group (slug)',
         label='Cluster group (slug)',
     )
     )
     cluster_id = django_filters.ModelMultipleChoiceFilter(
     cluster_id = django_filters.ModelMultipleChoiceFilter(
         field_name='clusters',
         field_name='clusters',
-        queryset=Cluster.objects.all(),
+        queryset=Cluster.objects.unrestricted(),
         label='Cluster',
         label='Cluster',
     )
     )
     tenant_group_id = django_filters.ModelMultipleChoiceFilter(
     tenant_group_id = django_filters.ModelMultipleChoiceFilter(
         field_name='tenant_groups',
         field_name='tenant_groups',
-        queryset=TenantGroup.objects.all(),
+        queryset=TenantGroup.objects.unrestricted(),
         label='Tenant group',
         label='Tenant group',
     )
     )
     tenant_group = django_filters.ModelMultipleChoiceFilter(
     tenant_group = django_filters.ModelMultipleChoiceFilter(
         field_name='tenant_groups__slug',
         field_name='tenant_groups__slug',
-        queryset=TenantGroup.objects.all(),
+        queryset=TenantGroup.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Tenant group (slug)',
         label='Tenant group (slug)',
     )
     )
     tenant_id = django_filters.ModelMultipleChoiceFilter(
     tenant_id = django_filters.ModelMultipleChoiceFilter(
         field_name='tenants',
         field_name='tenants',
-        queryset=Tenant.objects.all(),
+        queryset=Tenant.objects.unrestricted(),
         label='Tenant',
         label='Tenant',
     )
     )
     tenant = django_filters.ModelMultipleChoiceFilter(
     tenant = django_filters.ModelMultipleChoiceFilter(
         field_name='tenants__slug',
         field_name='tenants__slug',
-        queryset=Tenant.objects.all(),
+        queryset=Tenant.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Tenant (slug)',
         label='Tenant (slug)',
     )
     )
     tag = django_filters.ModelMultipleChoiceFilter(
     tag = django_filters.ModelMultipleChoiceFilter(
         field_name='tags__slug',
         field_name='tags__slug',
-        queryset=Tag.objects.all(),
+        queryset=Tag.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Tag (slug)',
         label='Tag (slug)',
     )
     )

+ 33 - 33
netbox/ipam/filters.py

@@ -71,12 +71,12 @@ class AggregateFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFilt
         label='Prefix',
         label='Prefix',
     )
     )
     rir_id = django_filters.ModelMultipleChoiceFilter(
     rir_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=RIR.objects.all(),
+        queryset=RIR.objects.unrestricted(),
         label='RIR (ID)',
         label='RIR (ID)',
     )
     )
     rir = django_filters.ModelMultipleChoiceFilter(
     rir = django_filters.ModelMultipleChoiceFilter(
         field_name='rir__slug',
         field_name='rir__slug',
-        queryset=RIR.objects.all(),
+        queryset=RIR.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='RIR (slug)',
         label='RIR (slug)',
     )
     )
@@ -148,40 +148,40 @@ class PrefixFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, Cre
         label='Mask length',
         label='Mask length',
     )
     )
     vrf_id = django_filters.ModelMultipleChoiceFilter(
     vrf_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=VRF.objects.all(),
+        queryset=VRF.objects.unrestricted(),
         label='VRF',
         label='VRF',
     )
     )
     vrf = django_filters.ModelMultipleChoiceFilter(
     vrf = django_filters.ModelMultipleChoiceFilter(
         field_name='vrf__rd',
         field_name='vrf__rd',
-        queryset=VRF.objects.all(),
+        queryset=VRF.objects.unrestricted(),
         to_field_name='rd',
         to_field_name='rd',
         label='VRF (RD)',
         label='VRF (RD)',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
         label='Region (slug)',
         label='Region (slug)',
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='site__slug',
         field_name='site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
     vlan_id = django_filters.ModelMultipleChoiceFilter(
     vlan_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=VLAN.objects.all(),
+        queryset=VLAN.objects.unrestricted(),
         label='VLAN (ID)',
         label='VLAN (ID)',
     )
     )
     vlan_vid = django_filters.NumberFilter(
     vlan_vid = django_filters.NumberFilter(
@@ -189,12 +189,12 @@ class PrefixFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, Cre
         label='VLAN number (1-4095)',
         label='VLAN number (1-4095)',
     )
     )
     role_id = django_filters.ModelMultipleChoiceFilter(
     role_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Role.objects.all(),
+        queryset=Role.objects.unrestricted(),
         label='Role (ID)',
         label='Role (ID)',
     )
     )
     role = django_filters.ModelMultipleChoiceFilter(
     role = django_filters.ModelMultipleChoiceFilter(
         field_name='role__slug',
         field_name='role__slug',
-        queryset=Role.objects.all(),
+        queryset=Role.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Role (slug)',
         label='Role (slug)',
     )
     )
@@ -290,12 +290,12 @@ class IPAddressFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet,
         label='Mask length',
         label='Mask length',
     )
     )
     vrf_id = django_filters.ModelMultipleChoiceFilter(
     vrf_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=VRF.objects.all(),
+        queryset=VRF.objects.unrestricted(),
         label='VRF',
         label='VRF',
     )
     )
     vrf = django_filters.ModelMultipleChoiceFilter(
     vrf = django_filters.ModelMultipleChoiceFilter(
         field_name='vrf__rd',
         field_name='vrf__rd',
-        queryset=VRF.objects.all(),
+        queryset=VRF.objects.unrestricted(),
         to_field_name='rd',
         to_field_name='rd',
         label='VRF (RD)',
         label='VRF (RD)',
     )
     )
@@ -311,23 +311,23 @@ class IPAddressFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet,
     )
     )
     virtual_machine_id = django_filters.ModelMultipleChoiceFilter(
     virtual_machine_id = django_filters.ModelMultipleChoiceFilter(
         field_name='interface__virtual_machine',
         field_name='interface__virtual_machine',
-        queryset=VirtualMachine.objects.all(),
+        queryset=VirtualMachine.objects.unrestricted(),
         label='Virtual machine (ID)',
         label='Virtual machine (ID)',
     )
     )
     virtual_machine = django_filters.ModelMultipleChoiceFilter(
     virtual_machine = django_filters.ModelMultipleChoiceFilter(
         field_name='interface__virtual_machine__name',
         field_name='interface__virtual_machine__name',
-        queryset=VirtualMachine.objects.all(),
+        queryset=VirtualMachine.objects.unrestricted(),
         to_field_name='name',
         to_field_name='name',
         label='Virtual machine (name)',
         label='Virtual machine (name)',
     )
     )
     interface = django_filters.ModelMultipleChoiceFilter(
     interface = django_filters.ModelMultipleChoiceFilter(
         field_name='interface__name',
         field_name='interface__name',
-        queryset=Interface.objects.all(),
+        queryset=Interface.objects.unrestricted(),
         to_field_name='name',
         to_field_name='name',
         label='Interface (ID)',
         label='Interface (ID)',
     )
     )
     interface_id = django_filters.ModelMultipleChoiceFilter(
     interface_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Interface.objects.all(),
+        queryset=Interface.objects.unrestricted(),
         label='Interface (ID)',
         label='Interface (ID)',
     )
     )
     assigned_to_interface = django_filters.BooleanFilter(
     assigned_to_interface = django_filters.BooleanFilter(
@@ -394,25 +394,25 @@ class IPAddressFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet,
 
 
 class VLANGroupFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
 class VLANGroupFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
         label='Region (slug)',
         label='Region (slug)',
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='site__slug',
         field_name='site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
@@ -428,45 +428,45 @@ class VLANFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, Creat
         label='Search',
         label='Search',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
         label='Region (slug)',
         label='Region (slug)',
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='site__slug',
         field_name='site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
     group_id = django_filters.ModelMultipleChoiceFilter(
     group_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=VLANGroup.objects.all(),
+        queryset=VLANGroup.objects.unrestricted(),
         label='Group (ID)',
         label='Group (ID)',
     )
     )
     group = django_filters.ModelMultipleChoiceFilter(
     group = django_filters.ModelMultipleChoiceFilter(
         field_name='group__slug',
         field_name='group__slug',
-        queryset=VLANGroup.objects.all(),
+        queryset=VLANGroup.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Group',
         label='Group',
     )
     )
     role_id = django_filters.ModelMultipleChoiceFilter(
     role_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Role.objects.all(),
+        queryset=Role.objects.unrestricted(),
         label='Role (ID)',
         label='Role (ID)',
     )
     )
     role = django_filters.ModelMultipleChoiceFilter(
     role = django_filters.ModelMultipleChoiceFilter(
         field_name='role__slug',
         field_name='role__slug',
-        queryset=Role.objects.all(),
+        queryset=Role.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Role (slug)',
         label='Role (slug)',
     )
     )
@@ -497,22 +497,22 @@ class ServiceFilterSet(BaseFilterSet, CreatedUpdatedFilterSet):
         label='Search',
         label='Search',
     )
     )
     device_id = django_filters.ModelMultipleChoiceFilter(
     device_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Device.objects.all(),
+        queryset=Device.objects.unrestricted(),
         label='Device (ID)',
         label='Device (ID)',
     )
     )
     device = django_filters.ModelMultipleChoiceFilter(
     device = django_filters.ModelMultipleChoiceFilter(
         field_name='device__name',
         field_name='device__name',
-        queryset=Device.objects.all(),
+        queryset=Device.objects.unrestricted(),
         to_field_name='name',
         to_field_name='name',
         label='Device (name)',
         label='Device (name)',
     )
     )
     virtual_machine_id = django_filters.ModelMultipleChoiceFilter(
     virtual_machine_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=VirtualMachine.objects.all(),
+        queryset=VirtualMachine.objects.unrestricted(),
         label='Virtual machine (ID)',
         label='Virtual machine (ID)',
     )
     )
     virtual_machine = django_filters.ModelMultipleChoiceFilter(
     virtual_machine = django_filters.ModelMultipleChoiceFilter(
         field_name='virtual_machine__name',
         field_name='virtual_machine__name',
-        queryset=VirtualMachine.objects.all(),
+        queryset=VirtualMachine.objects.unrestricted(),
         to_field_name='name',
         to_field_name='name',
         label='Virtual machine (name)',
         label='Virtual machine (name)',
     )
     )

+ 4 - 4
netbox/secrets/filters.py

@@ -26,22 +26,22 @@ class SecretFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterS
         label='Search',
         label='Search',
     )
     )
     role_id = django_filters.ModelMultipleChoiceFilter(
     role_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=SecretRole.objects.all(),
+        queryset=SecretRole.objects.unrestricted(),
         label='Role (ID)',
         label='Role (ID)',
     )
     )
     role = django_filters.ModelMultipleChoiceFilter(
     role = django_filters.ModelMultipleChoiceFilter(
         field_name='role__slug',
         field_name='role__slug',
-        queryset=SecretRole.objects.all(),
+        queryset=SecretRole.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Role (slug)',
         label='Role (slug)',
     )
     )
     device_id = django_filters.ModelMultipleChoiceFilter(
     device_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Device.objects.all(),
+        queryset=Device.objects.unrestricted(),
         label='Device (ID)',
         label='Device (ID)',
     )
     )
     device = django_filters.ModelMultipleChoiceFilter(
     device = django_filters.ModelMultipleChoiceFilter(
         field_name='device__name',
         field_name='device__name',
-        queryset=Device.objects.all(),
+        queryset=Device.objects.unrestricted(),
         to_field_name='name',
         to_field_name='name',
         label='Device (name)',
         label='Device (name)',
     )
     )

+ 8 - 8
netbox/tenancy/filters.py

@@ -15,12 +15,12 @@ __all__ = (
 
 
 class TenantGroupFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
 class TenantGroupFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
     parent_id = django_filters.ModelMultipleChoiceFilter(
     parent_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=TenantGroup.objects.all(),
+        queryset=TenantGroup.objects.unrestricted(),
         label='Tenant group (ID)',
         label='Tenant group (ID)',
     )
     )
     parent = django_filters.ModelMultipleChoiceFilter(
     parent = django_filters.ModelMultipleChoiceFilter(
         field_name='parent__slug',
         field_name='parent__slug',
-        queryset=TenantGroup.objects.all(),
+        queryset=TenantGroup.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Tenant group group (slug)',
         label='Tenant group group (slug)',
     )
     )
@@ -36,13 +36,13 @@ class TenantFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterS
         label='Search',
         label='Search',
     )
     )
     group_id = TreeNodeMultipleChoiceFilter(
     group_id = TreeNodeMultipleChoiceFilter(
-        queryset=TenantGroup.objects.all(),
+        queryset=TenantGroup.objects.unrestricted(),
         field_name='group',
         field_name='group',
         lookup_expr='in',
         lookup_expr='in',
         label='Tenant group (ID)',
         label='Tenant group (ID)',
     )
     )
     group = TreeNodeMultipleChoiceFilter(
     group = TreeNodeMultipleChoiceFilter(
-        queryset=TenantGroup.objects.all(),
+        queryset=TenantGroup.objects.unrestricted(),
         field_name='group',
         field_name='group',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
@@ -70,24 +70,24 @@ class TenancyFilterSet(django_filters.FilterSet):
     An inheritable FilterSet for models which support Tenant assignment.
     An inheritable FilterSet for models which support Tenant assignment.
     """
     """
     tenant_group_id = TreeNodeMultipleChoiceFilter(
     tenant_group_id = TreeNodeMultipleChoiceFilter(
-        queryset=TenantGroup.objects.all(),
+        queryset=TenantGroup.objects.unrestricted(),
         field_name='tenant__group',
         field_name='tenant__group',
         lookup_expr='in',
         lookup_expr='in',
         label='Tenant Group (ID)',
         label='Tenant Group (ID)',
     )
     )
     tenant_group = TreeNodeMultipleChoiceFilter(
     tenant_group = TreeNodeMultipleChoiceFilter(
-        queryset=TenantGroup.objects.all(),
+        queryset=TenantGroup.objects.unrestricted(),
         field_name='tenant__group',
         field_name='tenant__group',
         to_field_name='slug',
         to_field_name='slug',
         lookup_expr='in',
         lookup_expr='in',
         label='Tenant Group (slug)',
         label='Tenant Group (slug)',
     )
     )
     tenant_id = django_filters.ModelMultipleChoiceFilter(
     tenant_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Tenant.objects.all(),
+        queryset=Tenant.objects.unrestricted(),
         label='Tenant (ID)',
         label='Tenant (ID)',
     )
     )
     tenant = django_filters.ModelMultipleChoiceFilter(
     tenant = django_filters.ModelMultipleChoiceFilter(
-        queryset=Tenant.objects.all(),
+        queryset=Tenant.objects.unrestricted(),
         field_name='tenant__slug',
         field_name='tenant__slug',
         to_field_name='slug',
         to_field_name='slug',
         label='Tenant (slug)',
         label='Tenant (slug)',

+ 1 - 1
netbox/utilities/filters.py

@@ -102,7 +102,7 @@ class TagFilter(django_filters.ModelMultipleChoiceFilter):
         kwargs.setdefault('field_name', 'tags__slug')
         kwargs.setdefault('field_name', 'tags__slug')
         kwargs.setdefault('to_field_name', 'slug')
         kwargs.setdefault('to_field_name', 'slug')
         kwargs.setdefault('conjoined', True)
         kwargs.setdefault('conjoined', True)
-        kwargs.setdefault('queryset', Tag.objects.all())
+        kwargs.setdefault('queryset', Tag.objects.unrestricted())
 
 
         super().__init__(*args, **kwargs)
         super().__init__(*args, **kwargs)
 
 

+ 23 - 23
netbox/virtualization/filters.py

@@ -40,45 +40,45 @@ class ClusterFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, Cr
         label='Search',
         label='Search',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='site__region',
         field_name='site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
         label='Region (slug)',
         label='Region (slug)',
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='site__slug',
         field_name='site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
     group_id = django_filters.ModelMultipleChoiceFilter(
     group_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=ClusterGroup.objects.all(),
+        queryset=ClusterGroup.objects.unrestricted(),
         label='Parent group (ID)',
         label='Parent group (ID)',
     )
     )
     group = django_filters.ModelMultipleChoiceFilter(
     group = django_filters.ModelMultipleChoiceFilter(
         field_name='group__slug',
         field_name='group__slug',
-        queryset=ClusterGroup.objects.all(),
+        queryset=ClusterGroup.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Parent group (slug)',
         label='Parent group (slug)',
     )
     )
     type_id = django_filters.ModelMultipleChoiceFilter(
     type_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=ClusterType.objects.all(),
+        queryset=ClusterType.objects.unrestricted(),
         label='Cluster type (ID)',
         label='Cluster type (ID)',
     )
     )
     type = django_filters.ModelMultipleChoiceFilter(
     type = django_filters.ModelMultipleChoiceFilter(
         field_name='type__slug',
         field_name='type__slug',
-        queryset=ClusterType.objects.all(),
+        queryset=ClusterType.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Cluster type (slug)',
         label='Cluster type (slug)',
     )
     )
@@ -114,38 +114,38 @@ class VirtualMachineFilterSet(
     )
     )
     cluster_group_id = django_filters.ModelMultipleChoiceFilter(
     cluster_group_id = django_filters.ModelMultipleChoiceFilter(
         field_name='cluster__group',
         field_name='cluster__group',
-        queryset=ClusterGroup.objects.all(),
+        queryset=ClusterGroup.objects.unrestricted(),
         label='Cluster group (ID)',
         label='Cluster group (ID)',
     )
     )
     cluster_group = django_filters.ModelMultipleChoiceFilter(
     cluster_group = django_filters.ModelMultipleChoiceFilter(
         field_name='cluster__group__slug',
         field_name='cluster__group__slug',
-        queryset=ClusterGroup.objects.all(),
+        queryset=ClusterGroup.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Cluster group (slug)',
         label='Cluster group (slug)',
     )
     )
     cluster_type_id = django_filters.ModelMultipleChoiceFilter(
     cluster_type_id = django_filters.ModelMultipleChoiceFilter(
         field_name='cluster__type',
         field_name='cluster__type',
-        queryset=ClusterType.objects.all(),
+        queryset=ClusterType.objects.unrestricted(),
         label='Cluster type (ID)',
         label='Cluster type (ID)',
     )
     )
     cluster_type = django_filters.ModelMultipleChoiceFilter(
     cluster_type = django_filters.ModelMultipleChoiceFilter(
         field_name='cluster__type__slug',
         field_name='cluster__type__slug',
-        queryset=ClusterType.objects.all(),
+        queryset=ClusterType.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Cluster type (slug)',
         label='Cluster type (slug)',
     )
     )
     cluster_id = django_filters.ModelMultipleChoiceFilter(
     cluster_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Cluster.objects.all(),
+        queryset=Cluster.objects.unrestricted(),
         label='Cluster (ID)',
         label='Cluster (ID)',
     )
     )
     region_id = TreeNodeMultipleChoiceFilter(
     region_id = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='cluster__site__region',
         field_name='cluster__site__region',
         lookup_expr='in',
         lookup_expr='in',
         label='Region (ID)',
         label='Region (ID)',
     )
     )
     region = TreeNodeMultipleChoiceFilter(
     region = TreeNodeMultipleChoiceFilter(
-        queryset=Region.objects.all(),
+        queryset=Region.objects.unrestricted(),
         field_name='cluster__site__region',
         field_name='cluster__site__region',
         lookup_expr='in',
         lookup_expr='in',
         to_field_name='slug',
         to_field_name='slug',
@@ -153,32 +153,32 @@ class VirtualMachineFilterSet(
     )
     )
     site_id = django_filters.ModelMultipleChoiceFilter(
     site_id = django_filters.ModelMultipleChoiceFilter(
         field_name='cluster__site',
         field_name='cluster__site',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         label='Site (ID)',
         label='Site (ID)',
     )
     )
     site = django_filters.ModelMultipleChoiceFilter(
     site = django_filters.ModelMultipleChoiceFilter(
         field_name='cluster__site__slug',
         field_name='cluster__site__slug',
-        queryset=Site.objects.all(),
+        queryset=Site.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Site (slug)',
         label='Site (slug)',
     )
     )
     role_id = django_filters.ModelMultipleChoiceFilter(
     role_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=DeviceRole.objects.all(),
+        queryset=DeviceRole.objects.unrestricted(),
         label='Role (ID)',
         label='Role (ID)',
     )
     )
     role = django_filters.ModelMultipleChoiceFilter(
     role = django_filters.ModelMultipleChoiceFilter(
         field_name='role__slug',
         field_name='role__slug',
-        queryset=DeviceRole.objects.all(),
+        queryset=DeviceRole.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Role (slug)',
         label='Role (slug)',
     )
     )
     platform_id = django_filters.ModelMultipleChoiceFilter(
     platform_id = django_filters.ModelMultipleChoiceFilter(
-        queryset=Platform.objects.all(),
+        queryset=Platform.objects.unrestricted(),
         label='Platform (ID)',
         label='Platform (ID)',
     )
     )
     platform = django_filters.ModelMultipleChoiceFilter(
     platform = django_filters.ModelMultipleChoiceFilter(
         field_name='platform__slug',
         field_name='platform__slug',
-        queryset=Platform.objects.all(),
+        queryset=Platform.objects.unrestricted(),
         to_field_name='slug',
         to_field_name='slug',
         label='Platform (slug)',
         label='Platform (slug)',
     )
     )
@@ -208,12 +208,12 @@ class InterfaceFilterSet(BaseFilterSet):
     )
     )
     virtual_machine_id = django_filters.ModelMultipleChoiceFilter(
     virtual_machine_id = django_filters.ModelMultipleChoiceFilter(
         field_name='virtual_machine',
         field_name='virtual_machine',
-        queryset=VirtualMachine.objects.all(),
+        queryset=VirtualMachine.objects.unrestricted(),
         label='Virtual machine (ID)',
         label='Virtual machine (ID)',
     )
     )
     virtual_machine = django_filters.ModelMultipleChoiceFilter(
     virtual_machine = django_filters.ModelMultipleChoiceFilter(
         field_name='virtual_machine__name',
         field_name='virtual_machine__name',
-        queryset=VirtualMachine.objects.all(),
+        queryset=VirtualMachine.objects.unrestricted(),
         to_field_name='name',
         to_field_name='name',
         label='Virtual machine',
         label='Virtual machine',
     )
     )