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

Rename filter variables for utility views

Jeremy Stretch 6 лет назад
Родитель
Сommit
da0ac4ff1e

+ 8 - 8
netbox/circuits/views.py

@@ -23,8 +23,8 @@ from .models import Circuit, CircuitTermination, CircuitType, Provider
 class ProviderListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'circuits.view_provider'
     queryset = Provider.objects.annotate(count_circuits=Count('circuits'))
-    filter = filters.ProviderFilterSet
-    filter_form = forms.ProviderFilterForm
+    filterset = filters.ProviderFilterSet
+    filterset_form = forms.ProviderFilterForm
     table = tables.ProviderDetailTable
     template_name = 'circuits/provider_list.html'
 
@@ -73,7 +73,7 @@ class ProviderBulkImportView(PermissionRequiredMixin, BulkImportView):
 class ProviderBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'circuits.change_provider'
     queryset = Provider.objects.all()
-    filter = filters.ProviderFilterSet
+    filterset = filters.ProviderFilterSet
     table = tables.ProviderTable
     form = forms.ProviderBulkEditForm
     default_return_url = 'circuits:provider_list'
@@ -82,7 +82,7 @@ class ProviderBulkEditView(PermissionRequiredMixin, BulkEditView):
 class ProviderBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'circuits.delete_provider'
     queryset = Provider.objects.all()
-    filter = filters.ProviderFilterSet
+    filterset = filters.ProviderFilterSet
     table = tables.ProviderTable
     default_return_url = 'circuits:provider_list'
 
@@ -136,8 +136,8 @@ class CircuitListView(PermissionRequiredMixin, ObjectListView):
         a_side=Subquery(_terminations.filter(term_side='A').values('site__name')[:1]),
         z_side=Subquery(_terminations.filter(term_side='Z').values('site__name')[:1]),
     )
-    filter = filters.CircuitFilterSet
-    filter_form = forms.CircuitFilterForm
+    filterset = filters.CircuitFilterSet
+    filterset_form = forms.CircuitFilterForm
     table = tables.CircuitTable
     template_name = 'circuits/circuit_list.html'
 
@@ -194,7 +194,7 @@ class CircuitBulkImportView(PermissionRequiredMixin, BulkImportView):
 class CircuitBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'circuits.change_circuit'
     queryset = Circuit.objects.prefetch_related('provider', 'type', 'tenant').prefetch_related('terminations__site')
-    filter = filters.CircuitFilterSet
+    filterset = filters.CircuitFilterSet
     table = tables.CircuitTable
     form = forms.CircuitBulkEditForm
     default_return_url = 'circuits:circuit_list'
@@ -203,7 +203,7 @@ class CircuitBulkEditView(PermissionRequiredMixin, BulkEditView):
 class CircuitBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'circuits.delete_circuit'
     queryset = Circuit.objects.prefetch_related('provider', 'type', 'tenant').prefetch_related('terminations__site')
-    filter = filters.CircuitFilterSet
+    filterset = filters.CircuitFilterSet
     table = tables.CircuitTable
     default_return_url = 'circuits:circuit_list'
 

+ 70 - 70
netbox/dcim/views.py

@@ -148,8 +148,8 @@ class RegionListView(PermissionRequiredMixin, ObjectListView):
         'site_count',
         cumulative=True
     )
-    filter = filters.RegionFilterSet
-    filter_form = forms.RegionFilterForm
+    filterset = filters.RegionFilterSet
+    filterset_form = forms.RegionFilterForm
     table = tables.RegionTable
     template_name = 'dcim/region_list.html'
 
@@ -175,7 +175,7 @@ class RegionBulkImportView(PermissionRequiredMixin, BulkImportView):
 class RegionBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_region'
     queryset = Region.objects.all()
-    filter = filters.RegionFilterSet
+    filterset = filters.RegionFilterSet
     table = tables.RegionTable
     default_return_url = 'dcim:region_list'
 
@@ -187,8 +187,8 @@ class RegionBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class SiteListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_site'
     queryset = Site.objects.prefetch_related('region', 'tenant')
-    filter = filters.SiteFilterSet
-    filter_form = forms.SiteFilterForm
+    filterset = filters.SiteFilterSet
+    filterset_form = forms.SiteFilterForm
     table = tables.SiteTable
     template_name = 'dcim/site_list.html'
 
@@ -246,7 +246,7 @@ class SiteBulkImportView(PermissionRequiredMixin, BulkImportView):
 class SiteBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'dcim.change_site'
     queryset = Site.objects.prefetch_related('region', 'tenant')
-    filter = filters.SiteFilterSet
+    filterset = filters.SiteFilterSet
     table = tables.SiteTable
     form = forms.SiteBulkEditForm
     default_return_url = 'dcim:site_list'
@@ -255,7 +255,7 @@ class SiteBulkEditView(PermissionRequiredMixin, BulkEditView):
 class SiteBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_site'
     queryset = Site.objects.prefetch_related('region', 'tenant')
-    filter = filters.SiteFilterSet
+    filterset = filters.SiteFilterSet
     table = tables.SiteTable
     default_return_url = 'dcim:site_list'
 
@@ -267,8 +267,8 @@ class SiteBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class RackGroupListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_rackgroup'
     queryset = RackGroup.objects.prefetch_related('site').annotate(rack_count=Count('racks'))
-    filter = filters.RackGroupFilterSet
-    filter_form = forms.RackGroupFilterForm
+    filterset = filters.RackGroupFilterSet
+    filterset_form = forms.RackGroupFilterForm
     table = tables.RackGroupTable
     template_name = 'dcim/rackgroup_list.html'
 
@@ -294,7 +294,7 @@ class RackGroupBulkImportView(PermissionRequiredMixin, BulkImportView):
 class RackGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_rackgroup'
     queryset = RackGroup.objects.prefetch_related('site').annotate(rack_count=Count('racks'))
-    filter = filters.RackGroupFilterSet
+    filterset = filters.RackGroupFilterSet
     table = tables.RackGroupTable
     default_return_url = 'dcim:rackgroup_list'
 
@@ -346,8 +346,8 @@ class RackListView(PermissionRequiredMixin, ObjectListView):
     ).annotate(
         device_count=Count('devices')
     )
-    filter = filters.RackFilterSet
-    filter_form = forms.RackFilterForm
+    filterset = filters.RackFilterSet
+    filterset_form = forms.RackFilterForm
     table = tables.RackDetailTable
     template_name = 'dcim/rack_list.html'
 
@@ -450,7 +450,7 @@ class RackBulkImportView(PermissionRequiredMixin, BulkImportView):
 class RackBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'dcim.change_rack'
     queryset = Rack.objects.prefetch_related('site', 'group', 'tenant', 'role')
-    filter = filters.RackFilterSet
+    filterset = filters.RackFilterSet
     table = tables.RackTable
     form = forms.RackBulkEditForm
     default_return_url = 'dcim:rack_list'
@@ -459,7 +459,7 @@ class RackBulkEditView(PermissionRequiredMixin, BulkEditView):
 class RackBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_rack'
     queryset = Rack.objects.prefetch_related('site', 'group', 'tenant', 'role')
-    filter = filters.RackFilterSet
+    filterset = filters.RackFilterSet
     table = tables.RackTable
     default_return_url = 'dcim:rack_list'
 
@@ -471,8 +471,8 @@ class RackBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class RackReservationListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_rackreservation'
     queryset = RackReservation.objects.prefetch_related('rack__site')
-    filter = filters.RackReservationFilterSet
-    filter_form = forms.RackReservationFilterForm
+    filterset = filters.RackReservationFilterSet
+    filterset_form = forms.RackReservationFilterForm
     table = tables.RackReservationTable
     template_name = 'dcim/rackreservation_list.html'
 
@@ -507,7 +507,7 @@ class RackReservationDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class RackReservationBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'dcim.change_rackreservation'
     queryset = RackReservation.objects.prefetch_related('rack', 'user')
-    filter = filters.RackReservationFilterSet
+    filterset = filters.RackReservationFilterSet
     table = tables.RackReservationTable
     form = forms.RackReservationBulkEditForm
     default_return_url = 'dcim:rackreservation_list'
@@ -516,7 +516,7 @@ class RackReservationBulkEditView(PermissionRequiredMixin, BulkEditView):
 class RackReservationBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_rackreservation'
     queryset = RackReservation.objects.prefetch_related('rack', 'user')
-    filter = filters.RackReservationFilterSet
+    filterset = filters.RackReservationFilterSet
     table = tables.RackReservationTable
     default_return_url = 'dcim:rackreservation_list'
 
@@ -568,8 +568,8 @@ class ManufacturerBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class DeviceTypeListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_devicetype'
     queryset = DeviceType.objects.prefetch_related('manufacturer').annotate(instance_count=Count('instances'))
-    filter = filters.DeviceTypeFilterSet
-    filter_form = forms.DeviceTypeFilterForm
+    filterset = filters.DeviceTypeFilterSet
+    filterset_form = forms.DeviceTypeFilterForm
     table = tables.DeviceTypeTable
     template_name = 'dcim/devicetype_list.html'
 
@@ -685,7 +685,7 @@ class DeviceTypeImportView(PermissionRequiredMixin, ObjectImportView):
 class DeviceTypeBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'dcim.change_devicetype'
     queryset = DeviceType.objects.prefetch_related('manufacturer').annotate(instance_count=Count('instances'))
-    filter = filters.DeviceTypeFilterSet
+    filterset = filters.DeviceTypeFilterSet
     table = tables.DeviceTypeTable
     form = forms.DeviceTypeBulkEditForm
     default_return_url = 'dcim:devicetype_list'
@@ -694,7 +694,7 @@ class DeviceTypeBulkEditView(PermissionRequiredMixin, BulkEditView):
 class DeviceTypeBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_devicetype'
     queryset = DeviceType.objects.prefetch_related('manufacturer').annotate(instance_count=Count('instances'))
-    filter = filters.DeviceTypeFilterSet
+    filterset = filters.DeviceTypeFilterSet
     table = tables.DeviceTypeTable
     default_return_url = 'dcim:devicetype_list'
 
@@ -976,8 +976,8 @@ class DeviceListView(PermissionRequiredMixin, ObjectListView):
     queryset = Device.objects.prefetch_related(
         'device_type__manufacturer', 'device_role', 'tenant', 'site', 'rack', 'primary_ip4', 'primary_ip6'
     )
-    filter = filters.DeviceFilterSet
-    filter_form = forms.DeviceFilterForm
+    filterset = filters.DeviceFilterSet
+    filterset_form = forms.DeviceFilterForm
     table = tables.DeviceDetailTable
     template_name = 'dcim/device_list.html'
 
@@ -1176,7 +1176,7 @@ class ChildDeviceBulkImportView(PermissionRequiredMixin, BulkImportView):
 class DeviceBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'dcim.change_device'
     queryset = Device.objects.prefetch_related('tenant', 'site', 'rack', 'device_role', 'device_type__manufacturer')
-    filter = filters.DeviceFilterSet
+    filterset = filters.DeviceFilterSet
     table = tables.DeviceTable
     form = forms.DeviceBulkEditForm
     default_return_url = 'dcim:device_list'
@@ -1185,7 +1185,7 @@ class DeviceBulkEditView(PermissionRequiredMixin, BulkEditView):
 class DeviceBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_device'
     queryset = Device.objects.prefetch_related('tenant', 'site', 'rack', 'device_role', 'device_type__manufacturer')
-    filter = filters.DeviceFilterSet
+    filterset = filters.DeviceFilterSet
     table = tables.DeviceTable
     default_return_url = 'dcim:device_list'
 
@@ -1197,8 +1197,8 @@ class DeviceBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class ConsolePortListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_consoleport'
     queryset = ConsolePort.objects.prefetch_related('device', 'device__tenant', 'device__site', 'cable')
-    filter = filters.ConsolePortFilterSet
-    filter_form = forms.ConsolePortFilterForm
+    filterset = filters.ConsolePortFilterSet
+    filterset_form = forms.ConsolePortFilterForm
     table = tables.ConsolePortDetailTable
     template_name = 'dcim/device_component_list.html'
 
@@ -1245,8 +1245,8 @@ class ConsolePortBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class ConsoleServerPortListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_consoleserverport'
     queryset = ConsoleServerPort.objects.prefetch_related('device', 'device__tenant', 'device__site', 'cable')
-    filter = filters.ConsoleServerPortFilterSet
-    filter_form = forms.ConsoleServerPortFilterForm
+    filterset = filters.ConsoleServerPortFilterSet
+    filterset_form = forms.ConsoleServerPortFilterForm
     table = tables.ConsoleServerPortDetailTable
     template_name = 'dcim/device_component_list.html'
 
@@ -1313,8 +1313,8 @@ class ConsoleServerPortBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class PowerPortListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_powerport'
     queryset = PowerPort.objects.prefetch_related('device', 'device__tenant', 'device__site', 'cable')
-    filter = filters.PowerPortFilterSet
-    filter_form = forms.PowerPortFilterForm
+    filterset = filters.PowerPortFilterSet
+    filterset_form = forms.PowerPortFilterForm
     table = tables.PowerPortDetailTable
     template_name = 'dcim/device_component_list.html'
 
@@ -1361,8 +1361,8 @@ class PowerPortBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class PowerOutletListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_poweroutlet'
     queryset = PowerOutlet.objects.prefetch_related('device', 'device__tenant', 'device__site', 'cable')
-    filter = filters.PowerOutletFilterSet
-    filter_form = forms.PowerOutletFilterForm
+    filterset = filters.PowerOutletFilterSet
+    filterset_form = forms.PowerOutletFilterForm
     table = tables.PowerOutletDetailTable
     template_name = 'dcim/device_component_list.html'
 
@@ -1429,8 +1429,8 @@ class PowerOutletBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class InterfaceListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_interface'
     queryset = Interface.objects.prefetch_related('device', 'device__tenant', 'device__site', 'cable')
-    filter = filters.InterfaceFilterSet
-    filter_form = forms.InterfaceFilterForm
+    filterset = filters.InterfaceFilterSet
+    filterset_form = forms.InterfaceFilterForm
     table = tables.InterfaceDetailTable
     template_name = 'dcim/device_component_list.html'
 
@@ -1534,8 +1534,8 @@ class InterfaceBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class FrontPortListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_frontport'
     queryset = FrontPort.objects.prefetch_related('device', 'device__tenant', 'device__site', 'cable')
-    filter = filters.FrontPortFilterSet
-    filter_form = forms.FrontPortFilterForm
+    filterset = filters.FrontPortFilterSet
+    filterset_form = forms.FrontPortFilterForm
     table = tables.FrontPortDetailTable
     template_name = 'dcim/device_component_list.html'
 
@@ -1602,8 +1602,8 @@ class FrontPortBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class RearPortListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_rearport'
     queryset = RearPort.objects.prefetch_related('device', 'device__tenant', 'device__site', 'cable')
-    filter = filters.RearPortFilterSet
-    filter_form = forms.RearPortFilterForm
+    filterset = filters.RearPortFilterSet
+    filterset_form = forms.RearPortFilterForm
     table = tables.RearPortDetailTable
     template_name = 'dcim/device_component_list.html'
 
@@ -1672,8 +1672,8 @@ class DeviceBayListView(PermissionRequiredMixin, ObjectListView):
     queryset = DeviceBay.objects.prefetch_related(
         'device', 'device__site', 'installed_device', 'installed_device__site'
     )
-    filter = filters.DeviceBayFilterSet
-    filter_form = forms.DeviceBayFilterForm
+    filterset = filters.DeviceBayFilterSet
+    filterset_form = forms.DeviceBayFilterForm
     table = tables.DeviceBayDetailTable
     template_name = 'dcim/device_component_list.html'
 
@@ -1799,7 +1799,7 @@ class DeviceBulkAddConsolePortView(PermissionRequiredMixin, BulkComponentCreateV
     form = forms.DeviceBulkAddComponentForm
     model = ConsolePort
     model_form = forms.ConsolePortForm
-    filter = filters.DeviceFilterSet
+    filterset = filters.DeviceFilterSet
     table = tables.DeviceTable
     default_return_url = 'dcim:device_list'
 
@@ -1811,7 +1811,7 @@ class DeviceBulkAddConsoleServerPortView(PermissionRequiredMixin, BulkComponentC
     form = forms.DeviceBulkAddComponentForm
     model = ConsoleServerPort
     model_form = forms.ConsoleServerPortForm
-    filter = filters.DeviceFilterSet
+    filterset = filters.DeviceFilterSet
     table = tables.DeviceTable
     default_return_url = 'dcim:device_list'
 
@@ -1823,7 +1823,7 @@ class DeviceBulkAddPowerPortView(PermissionRequiredMixin, BulkComponentCreateVie
     form = forms.DeviceBulkAddComponentForm
     model = PowerPort
     model_form = forms.PowerPortForm
-    filter = filters.DeviceFilterSet
+    filterset = filters.DeviceFilterSet
     table = tables.DeviceTable
     default_return_url = 'dcim:device_list'
 
@@ -1835,7 +1835,7 @@ class DeviceBulkAddPowerOutletView(PermissionRequiredMixin, BulkComponentCreateV
     form = forms.DeviceBulkAddComponentForm
     model = PowerOutlet
     model_form = forms.PowerOutletForm
-    filter = filters.DeviceFilterSet
+    filterset = filters.DeviceFilterSet
     table = tables.DeviceTable
     default_return_url = 'dcim:device_list'
 
@@ -1847,7 +1847,7 @@ class DeviceBulkAddInterfaceView(PermissionRequiredMixin, BulkComponentCreateVie
     form = forms.DeviceBulkAddInterfaceForm
     model = Interface
     model_form = forms.InterfaceForm
-    filter = filters.DeviceFilterSet
+    filterset = filters.DeviceFilterSet
     table = tables.DeviceTable
     default_return_url = 'dcim:device_list'
 
@@ -1859,7 +1859,7 @@ class DeviceBulkAddDeviceBayView(PermissionRequiredMixin, BulkComponentCreateVie
     form = forms.DeviceBulkAddComponentForm
     model = DeviceBay
     model_form = forms.DeviceBayForm
-    filter = filters.DeviceFilterSet
+    filterset = filters.DeviceFilterSet
     table = tables.DeviceTable
     default_return_url = 'dcim:device_list'
 
@@ -1873,8 +1873,8 @@ class CableListView(PermissionRequiredMixin, ObjectListView):
     queryset = Cable.objects.prefetch_related(
         'termination_a', 'termination_b'
     )
-    filter = filters.CableFilterSet
-    filter_form = forms.CableFilterForm
+    filterset = filters.CableFilterSet
+    filterset_form = forms.CableFilterForm
     table = tables.CableTable
     template_name = 'dcim/cable_list.html'
 
@@ -2010,7 +2010,7 @@ class CableBulkImportView(PermissionRequiredMixin, BulkImportView):
 class CableBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'dcim.change_cable'
     queryset = Cable.objects.prefetch_related('termination_a', 'termination_b')
-    filter = filters.CableFilterSet
+    filterset = filters.CableFilterSet
     table = tables.CableTable
     form = forms.CableBulkEditForm
     default_return_url = 'dcim:cable_list'
@@ -2019,7 +2019,7 @@ class CableBulkEditView(PermissionRequiredMixin, BulkEditView):
 class CableBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_cable'
     queryset = Cable.objects.prefetch_related('termination_a', 'termination_b')
-    filter = filters.CableFilterSet
+    filterset = filters.CableFilterSet
     table = tables.CableTable
     default_return_url = 'dcim:cable_list'
 
@@ -2037,8 +2037,8 @@ class ConsoleConnectionsListView(PermissionRequiredMixin, ObjectListView):
     ).order_by(
         'cable', 'connected_endpoint__device__name', 'connected_endpoint__name'
     )
-    filter = filters.ConsoleConnectionFilterSet
-    filter_form = forms.ConsoleConnectionFilterForm
+    filterset = filters.ConsoleConnectionFilterSet
+    filterset_form = forms.ConsoleConnectionFilterForm
     table = tables.ConsoleConnectionTable
     template_name = 'dcim/console_connections_list.html'
 
@@ -2068,8 +2068,8 @@ class PowerConnectionsListView(PermissionRequiredMixin, ObjectListView):
     ).order_by(
         'cable', '_connected_poweroutlet__device__name', '_connected_poweroutlet__name'
     )
-    filter = filters.PowerConnectionFilterSet
-    filter_form = forms.PowerConnectionFilterForm
+    filterset = filters.PowerConnectionFilterSet
+    filterset_form = forms.PowerConnectionFilterForm
     table = tables.PowerConnectionTable
     template_name = 'dcim/power_connections_list.html'
 
@@ -2101,8 +2101,8 @@ class InterfaceConnectionsListView(PermissionRequiredMixin, ObjectListView):
     ).order_by(
         'device'
     )
-    filter = filters.InterfaceConnectionFilterSet
-    filter_form = forms.InterfaceConnectionFilterForm
+    filterset = filters.InterfaceConnectionFilterSet
+    filterset_form = forms.InterfaceConnectionFilterForm
     table = tables.InterfaceConnectionTable
     template_name = 'dcim/interface_connections_list.html'
 
@@ -2136,8 +2136,8 @@ class InterfaceConnectionsListView(PermissionRequiredMixin, ObjectListView):
 class InventoryItemListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_inventoryitem'
     queryset = InventoryItem.objects.prefetch_related('device', 'manufacturer')
-    filter = filters.InventoryItemFilterSet
-    filter_form = forms.InventoryItemFilterForm
+    filterset = filters.InventoryItemFilterSet
+    filterset_form = forms.InventoryItemFilterForm
     table = tables.InventoryItemTable
     template_name = 'dcim/inventoryitem_list.html'
 
@@ -2171,7 +2171,7 @@ class InventoryItemBulkImportView(PermissionRequiredMixin, BulkImportView):
 class InventoryItemBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'dcim.change_inventoryitem'
     queryset = InventoryItem.objects.prefetch_related('device', 'manufacturer')
-    filter = filters.InventoryItemFilterSet
+    filterset = filters.InventoryItemFilterSet
     table = tables.InventoryItemTable
     form = forms.InventoryItemBulkEditForm
     default_return_url = 'dcim:inventoryitem_list'
@@ -2193,8 +2193,8 @@ class VirtualChassisListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_virtualchassis'
     queryset = VirtualChassis.objects.prefetch_related('master').annotate(member_count=Count('members'))
     table = tables.VirtualChassisTable
-    filter = filters.VirtualChassisFilterSet
-    filter_form = forms.VirtualChassisFilterForm
+    filterset = filters.VirtualChassisFilterSet
+    filterset_form = forms.VirtualChassisFilterForm
     template_name = 'dcim/virtualchassis_list.html'
 
 
@@ -2436,8 +2436,8 @@ class PowerPanelListView(PermissionRequiredMixin, ObjectListView):
     ).annotate(
         powerfeed_count=Count('powerfeeds')
     )
-    filter = filters.PowerPanelFilterSet
-    filter_form = forms.PowerPanelFilterForm
+    filterset = filters.PowerPanelFilterSet
+    filterset_form = forms.PowerPanelFilterForm
     table = tables.PowerPanelTable
     template_name = 'dcim/powerpanel_list.html'
 
@@ -2491,7 +2491,7 @@ class PowerPanelBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     ).annotate(
         rack_count=Count('powerfeeds')
     )
-    filter = filters.PowerPanelFilterSet
+    filterset = filters.PowerPanelFilterSet
     table = tables.PowerPanelTable
     default_return_url = 'dcim:powerpanel_list'
 
@@ -2505,8 +2505,8 @@ class PowerFeedListView(PermissionRequiredMixin, ObjectListView):
     queryset = PowerFeed.objects.prefetch_related(
         'power_panel', 'rack'
     )
-    filter = filters.PowerFeedFilterSet
-    filter_form = forms.PowerFeedFilterForm
+    filterset = filters.PowerFeedFilterSet
+    filterset_form = forms.PowerFeedFilterForm
     table = tables.PowerFeedTable
     template_name = 'dcim/powerfeed_list.html'
 
@@ -2551,7 +2551,7 @@ class PowerFeedBulkImportView(PermissionRequiredMixin, BulkImportView):
 class PowerFeedBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'dcim.change_powerfeed'
     queryset = PowerFeed.objects.prefetch_related('power_panel', 'rack')
-    filter = filters.PowerFeedFilterSet
+    filterset = filters.PowerFeedFilterSet
     table = tables.PowerFeedTable
     form = forms.PowerFeedBulkEditForm
     default_return_url = 'dcim:powerfeed_list'
@@ -2560,6 +2560,6 @@ class PowerFeedBulkEditView(PermissionRequiredMixin, BulkEditView):
 class PowerFeedBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_powerfeed'
     queryset = PowerFeed.objects.prefetch_related('power_panel', 'rack')
-    filter = filters.PowerFeedFilterSet
+    filterset = filters.PowerFeedFilterSet
     table = tables.PowerFeedTable
     default_return_url = 'dcim:powerfeed_list'

+ 7 - 7
netbox/extras/views.py

@@ -31,8 +31,8 @@ class TagListView(PermissionRequiredMixin, ObjectListView):
     ).order_by(
         'name'
     )
-    filter = filters.TagFilterSet
-    filter_form = forms.TagFilterForm
+    filterset = filters.TagFilterSet
+    filterset_form = forms.TagFilterForm
     table = TagTable
     template_name = 'extras/tag_list.html'
 
@@ -108,8 +108,8 @@ class TagBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class ConfigContextListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'extras.view_configcontext'
     queryset = ConfigContext.objects.all()
-    filter = filters.ConfigContextFilterSet
-    filter_form = forms.ConfigContextFilterForm
+    filterset = filters.ConfigContextFilterSet
+    filterset_form = forms.ConfigContextFilterForm
     table = ConfigContextTable
     template_name = 'extras/configcontext_list.html'
 
@@ -141,7 +141,7 @@ class ConfigContextEditView(ConfigContextCreateView):
 class ConfigContextBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'extras.change_configcontext'
     queryset = ConfigContext.objects.all()
-    filter = filters.ConfigContextFilterSet
+    filterset = filters.ConfigContextFilterSet
     table = ConfigContextTable
     form = forms.ConfigContextBulkEditForm
     default_return_url = 'extras:configcontext_list'
@@ -187,8 +187,8 @@ class ObjectConfigContextView(View):
 class ObjectChangeListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'extras.view_objectchange'
     queryset = ObjectChange.objects.prefetch_related('user', 'changed_object_type')
-    filter = filters.ObjectChangeFilterSet
-    filter_form = forms.ObjectChangeFilterForm
+    filterset = filters.ObjectChangeFilterSet
+    filterset_form = forms.ObjectChangeFilterForm
     table = ObjectChangeTable
     template_name = 'extras/objectchange_list.html'
 

+ 30 - 30
netbox/ipam/views.py

@@ -117,8 +117,8 @@ def add_available_vlans(vlan_group, vlans):
 class VRFListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_vrf'
     queryset = VRF.objects.prefetch_related('tenant')
-    filter = filters.VRFFilterSet
-    filter_form = forms.VRFFilterForm
+    filterset = filters.VRFFilterSet
+    filterset_form = forms.VRFFilterForm
     table = tables.VRFTable
     template_name = 'ipam/vrf_list.html'
 
@@ -165,7 +165,7 @@ class VRFBulkImportView(PermissionRequiredMixin, BulkImportView):
 class VRFBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'ipam.change_vrf'
     queryset = VRF.objects.prefetch_related('tenant')
-    filter = filters.VRFFilterSet
+    filterset = filters.VRFFilterSet
     table = tables.VRFTable
     form = forms.VRFBulkEditForm
     default_return_url = 'ipam:vrf_list'
@@ -174,7 +174,7 @@ class VRFBulkEditView(PermissionRequiredMixin, BulkEditView):
 class VRFBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_vrf'
     queryset = VRF.objects.prefetch_related('tenant')
-    filter = filters.VRFFilterSet
+    filterset = filters.VRFFilterSet
     table = tables.VRFTable
     default_return_url = 'ipam:vrf_list'
 
@@ -186,8 +186,8 @@ class VRFBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class RIRListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_rir'
     queryset = RIR.objects.annotate(aggregate_count=Count('aggregates'))
-    filter = filters.RIRFilterSet
-    filter_form = forms.RIRFilterForm
+    filterset = filters.RIRFilterSet
+    filterset_form = forms.RIRFilterForm
     table = tables.RIRDetailTable
     template_name = 'ipam/rir_list.html'
 
@@ -281,7 +281,7 @@ class RIRBulkImportView(PermissionRequiredMixin, BulkImportView):
 class RIRBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_rir'
     queryset = RIR.objects.annotate(aggregate_count=Count('aggregates'))
-    filter = filters.RIRFilterSet
+    filterset = filters.RIRFilterSet
     table = tables.RIRTable
     default_return_url = 'ipam:rir_list'
 
@@ -296,8 +296,8 @@ class AggregateListView(PermissionRequiredMixin, ObjectListView):
         child_count=RawSQL('SELECT COUNT(*) FROM ipam_prefix WHERE ipam_prefix.prefix <<= ipam_aggregate.prefix', ())
     )
 
-    filter = filters.AggregateFilterSet
-    filter_form = forms.AggregateFilterForm
+    filterset = filters.AggregateFilterSet
+    filterset_form = forms.AggregateFilterForm
     table = tables.AggregateDetailTable
     template_name = 'ipam/aggregate_list.html'
 
@@ -391,7 +391,7 @@ class AggregateBulkImportView(PermissionRequiredMixin, BulkImportView):
 class AggregateBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'ipam.change_aggregate'
     queryset = Aggregate.objects.prefetch_related('rir')
-    filter = filters.AggregateFilterSet
+    filterset = filters.AggregateFilterSet
     table = tables.AggregateTable
     form = forms.AggregateBulkEditForm
     default_return_url = 'ipam:aggregate_list'
@@ -400,7 +400,7 @@ class AggregateBulkEditView(PermissionRequiredMixin, BulkEditView):
 class AggregateBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_aggregate'
     queryset = Aggregate.objects.prefetch_related('rir')
-    filter = filters.AggregateFilterSet
+    filterset = filters.AggregateFilterSet
     table = tables.AggregateTable
     default_return_url = 'ipam:aggregate_list'
 
@@ -448,8 +448,8 @@ class RoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class PrefixListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_prefix'
     queryset = Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role')
-    filter = filters.PrefixFilterSet
-    filter_form = forms.PrefixFilterForm
+    filterset = filters.PrefixFilterSet
+    filterset_form = forms.PrefixFilterForm
     table = tables.PrefixDetailTable
     template_name = 'ipam/prefix_list.html'
 
@@ -620,7 +620,7 @@ class PrefixBulkImportView(PermissionRequiredMixin, BulkImportView):
 class PrefixBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'ipam.change_prefix'
     queryset = Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role')
-    filter = filters.PrefixFilterSet
+    filterset = filters.PrefixFilterSet
     table = tables.PrefixTable
     form = forms.PrefixBulkEditForm
     default_return_url = 'ipam:prefix_list'
@@ -629,7 +629,7 @@ class PrefixBulkEditView(PermissionRequiredMixin, BulkEditView):
 class PrefixBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_prefix'
     queryset = Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role')
-    filter = filters.PrefixFilterSet
+    filterset = filters.PrefixFilterSet
     table = tables.PrefixTable
     default_return_url = 'ipam:prefix_list'
 
@@ -643,8 +643,8 @@ class IPAddressListView(PermissionRequiredMixin, ObjectListView):
     queryset = IPAddress.objects.prefetch_related(
         'vrf__tenant', 'tenant', 'nat_inside', 'interface__device', 'interface__virtual_machine'
     )
-    filter = filters.IPAddressFilterSet
-    filter_form = forms.IPAddressFilterForm
+    filterset = filters.IPAddressFilterSet
+    filterset_form = forms.IPAddressFilterForm
     table = tables.IPAddressDetailTable
     template_name = 'ipam/ipaddress_list.html'
 
@@ -796,7 +796,7 @@ class IPAddressBulkImportView(PermissionRequiredMixin, BulkImportView):
 class IPAddressBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'ipam.change_ipaddress'
     queryset = IPAddress.objects.prefetch_related('vrf__tenant', 'tenant').prefetch_related('interface__device')
-    filter = filters.IPAddressFilterSet
+    filterset = filters.IPAddressFilterSet
     table = tables.IPAddressTable
     form = forms.IPAddressBulkEditForm
     default_return_url = 'ipam:ipaddress_list'
@@ -805,7 +805,7 @@ class IPAddressBulkEditView(PermissionRequiredMixin, BulkEditView):
 class IPAddressBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_ipaddress'
     queryset = IPAddress.objects.prefetch_related('vrf__tenant', 'tenant').prefetch_related('interface__device')
-    filter = filters.IPAddressFilterSet
+    filterset = filters.IPAddressFilterSet
     table = tables.IPAddressTable
     default_return_url = 'ipam:ipaddress_list'
 
@@ -817,8 +817,8 @@ class IPAddressBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class VLANGroupListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_vlangroup'
     queryset = VLANGroup.objects.prefetch_related('site').annotate(vlan_count=Count('vlans'))
-    filter = filters.VLANGroupFilterSet
-    filter_form = forms.VLANGroupFilterForm
+    filterset = filters.VLANGroupFilterSet
+    filterset_form = forms.VLANGroupFilterForm
     table = tables.VLANGroupTable
     template_name = 'ipam/vlangroup_list.html'
 
@@ -844,7 +844,7 @@ class VLANGroupBulkImportView(PermissionRequiredMixin, BulkImportView):
 class VLANGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_vlangroup'
     queryset = VLANGroup.objects.prefetch_related('site').annotate(vlan_count=Count('vlans'))
-    filter = filters.VLANGroupFilterSet
+    filterset = filters.VLANGroupFilterSet
     table = tables.VLANGroupTable
     default_return_url = 'ipam:vlangroup_list'
 
@@ -893,8 +893,8 @@ class VLANGroupVLANsView(PermissionRequiredMixin, View):
 class VLANListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_vlan'
     queryset = VLAN.objects.prefetch_related('site', 'group', 'tenant', 'role').prefetch_related('prefixes')
-    filter = filters.VLANFilterSet
-    filter_form = forms.VLANFilterForm
+    filterset = filters.VLANFilterSet
+    filterset_form = forms.VLANFilterForm
     table = tables.VLANDetailTable
     template_name = 'ipam/vlan_list.html'
 
@@ -968,7 +968,7 @@ class VLANBulkImportView(PermissionRequiredMixin, BulkImportView):
 class VLANBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'ipam.change_vlan'
     queryset = VLAN.objects.prefetch_related('site', 'group', 'tenant', 'role')
-    filter = filters.VLANFilterSet
+    filterset = filters.VLANFilterSet
     table = tables.VLANTable
     form = forms.VLANBulkEditForm
     default_return_url = 'ipam:vlan_list'
@@ -977,7 +977,7 @@ class VLANBulkEditView(PermissionRequiredMixin, BulkEditView):
 class VLANBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_vlan'
     queryset = VLAN.objects.prefetch_related('site', 'group', 'tenant', 'role')
-    filter = filters.VLANFilterSet
+    filterset = filters.VLANFilterSet
     table = tables.VLANTable
     default_return_url = 'ipam:vlan_list'
 
@@ -989,8 +989,8 @@ class VLANBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class ServiceListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_service'
     queryset = Service.objects.prefetch_related('device', 'virtual_machine')
-    filter = filters.ServiceFilterSet
-    filter_form = forms.ServiceFilterForm
+    filterset = filters.ServiceFilterSet
+    filterset_form = forms.ServiceFilterForm
     table = tables.ServiceTable
     template_name = 'ipam/service_list.html'
 
@@ -1036,7 +1036,7 @@ class ServiceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class ServiceBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'ipam.change_service'
     queryset = Service.objects.prefetch_related('device', 'virtual_machine')
-    filter = filters.ServiceFilterSet
+    filterset = filters.ServiceFilterSet
     table = tables.ServiceTable
     form = forms.ServiceBulkEditForm
     default_return_url = 'ipam:service_list'
@@ -1045,6 +1045,6 @@ class ServiceBulkEditView(PermissionRequiredMixin, BulkEditView):
 class ServiceBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_service'
     queryset = Service.objects.prefetch_related('device', 'virtual_machine')
-    filter = filters.ServiceFilterSet
+    filterset = filters.ServiceFilterSet
     table = tables.ServiceTable
     default_return_url = 'ipam:service_list'

+ 4 - 4
netbox/secrets/views.py

@@ -70,8 +70,8 @@ class SecretRoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class SecretListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'secrets.view_secret'
     queryset = Secret.objects.prefetch_related('role', 'device')
-    filter = filters.SecretFilterSet
-    filter_form = forms.SecretFilterForm
+    filterset = filters.SecretFilterSet
+    filterset_form = forms.SecretFilterForm
     table = tables.SecretTable
     template_name = 'secrets/secret_list.html'
 
@@ -248,7 +248,7 @@ class SecretBulkImportView(BulkImportView):
 class SecretBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'secrets.change_secret'
     queryset = Secret.objects.prefetch_related('role', 'device')
-    filter = filters.SecretFilterSet
+    filterset = filters.SecretFilterSet
     table = tables.SecretTable
     form = forms.SecretBulkEditForm
     default_return_url = 'secrets:secret_list'
@@ -257,6 +257,6 @@ class SecretBulkEditView(PermissionRequiredMixin, BulkEditView):
 class SecretBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'secrets.delete_secret'
     queryset = Secret.objects.prefetch_related('role', 'device')
-    filter = filters.SecretFilterSet
+    filterset = filters.SecretFilterSet
     table = tables.SecretTable
     default_return_url = 'secrets:secret_list'

+ 4 - 4
netbox/tenancy/views.py

@@ -57,8 +57,8 @@ class TenantGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class TenantListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'tenancy.view_tenant'
     queryset = Tenant.objects.prefetch_related('group')
-    filter = filters.TenantFilterSet
-    filter_form = forms.TenantFilterForm
+    filterset = filters.TenantFilterSet
+    filterset_form = forms.TenantFilterForm
     table = tables.TenantTable
     template_name = 'tenancy/tenant_list.html'
 
@@ -117,7 +117,7 @@ class TenantBulkImportView(PermissionRequiredMixin, BulkImportView):
 class TenantBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'tenancy.change_tenant'
     queryset = Tenant.objects.prefetch_related('group')
-    filter = filters.TenantFilterSet
+    filterset = filters.TenantFilterSet
     table = tables.TenantTable
     form = forms.TenantBulkEditForm
     default_return_url = 'tenancy:tenant_list'
@@ -126,6 +126,6 @@ class TenantBulkEditView(PermissionRequiredMixin, BulkEditView):
 class TenantBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'tenancy.delete_tenant'
     queryset = Tenant.objects.prefetch_related('group')
-    filter = filters.TenantFilterSet
+    filterset = filters.TenantFilterSet
     table = tables.TenantTable
     default_return_url = 'tenancy:tenant_list'

+ 14 - 14
netbox/utilities/views.py

@@ -70,8 +70,8 @@ class ObjectListView(View):
     template_name: The name of the template
     """
     queryset = None
-    filter = None
-    filter_form = None
+    filterset = None
+    filterset_form = None
     table = None
     template_name = None
 
@@ -97,8 +97,8 @@ class ObjectListView(View):
         model = self.queryset.model
         content_type = ContentType.objects.get_for_model(model)
 
-        if self.filter:
-            self.queryset = self.filter(request.GET, self.queryset).qs
+        if self.filterset:
+            self.queryset = self.filterset(request.GET, self.queryset).qs
 
         # If this type of object has one or more custom fields, prefetch any relevant custom field values
         custom_fields = CustomField.objects.filter(
@@ -161,7 +161,7 @@ class ObjectListView(View):
             'content_type': content_type,
             'table': table,
             'permissions': permissions,
-            'filter_form': self.filter_form(request.GET, label_suffix='') if self.filter_form else None,
+            'filter_form': self.filterset_form(request.GET, label_suffix='') if self.filterset_form else None,
             'tags': tags,
         }
         context.update(self.extra_context())
@@ -598,7 +598,7 @@ class BulkEditView(GetReturnURLMixin, View):
     """
     queryset = None
     parent_model = None
-    filter = None
+    filterset = None
     table = None
     form = None
     template_name = 'utilities/obj_bulk_edit.html'
@@ -617,8 +617,8 @@ class BulkEditView(GetReturnURLMixin, View):
             parent_obj = None
 
         # Are we editing *all* objects in the queryset or just a selected subset?
-        if request.POST.get('_all') and self.filter is not None:
-            pk_list = [obj.pk for obj in self.filter(request.GET, model.objects.only('pk')).qs]
+        if request.POST.get('_all') and self.filterset is not None:
+            pk_list = [obj.pk for obj in self.filterset(request.GET, model.objects.only('pk')).qs]
         else:
             pk_list = [int(pk) for pk in request.POST.getlist('pk')]
 
@@ -719,7 +719,7 @@ class BulkDeleteView(GetReturnURLMixin, View):
     """
     queryset = None
     parent_model = None
-    filter = None
+    filterset = None
     table = None
     form = None
     template_name = 'utilities/obj_bulk_delete.html'
@@ -739,8 +739,8 @@ class BulkDeleteView(GetReturnURLMixin, View):
 
         # Are we deleting *all* objects in the queryset or just a selected subset?
         if request.POST.get('_all'):
-            if self.filter is not None:
-                pk_list = [obj.pk for obj in self.filter(request.GET, model.objects.only('pk')).qs]
+            if self.filterset is not None:
+                pk_list = [obj.pk for obj in self.filterset(request.GET, model.objects.only('pk')).qs]
             else:
                 pk_list = model.objects.values_list('pk', flat=True)
         else:
@@ -883,7 +883,7 @@ class BulkComponentCreateView(GetReturnURLMixin, View):
     form = None
     model = None
     model_form = None
-    filter = None
+    filterset = None
     table = None
     template_name = 'utilities/obj_bulk_add_component.html'
 
@@ -893,8 +893,8 @@ class BulkComponentCreateView(GetReturnURLMixin, View):
         model_name = self.model._meta.verbose_name_plural
 
         # Are we editing *all* objects in the queryset or just a selected subset?
-        if request.POST.get('_all') and self.filter is not None:
-            pk_list = [obj.pk for obj in self.filter(request.GET, self.parent_model.objects.only('pk')).qs]
+        if request.POST.get('_all') and self.filterset is not None:
+            pk_list = [obj.pk for obj in self.filterset(request.GET, self.parent_model.objects.only('pk')).qs]
         else:
             pk_list = [int(pk) for pk in request.POST.getlist('pk')]
 

+ 9 - 9
netbox/virtualization/views.py

@@ -98,8 +98,8 @@ class ClusterListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'virtualization.view_cluster'
     queryset = Cluster.objects.prefetch_related('type', 'group', 'site', 'tenant')
     table = tables.ClusterTable
-    filter = filters.ClusterFilterSet
-    filter_form = forms.ClusterFilterForm
+    filterset = filters.ClusterFilterSet
+    filterset_form = forms.ClusterFilterForm
     template_name = 'virtualization/cluster_list.html'
 
 
@@ -149,7 +149,7 @@ class ClusterBulkImportView(PermissionRequiredMixin, BulkImportView):
 class ClusterBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'virtualization.change_cluster'
     queryset = Cluster.objects.prefetch_related('type', 'group', 'site')
-    filter = filters.ClusterFilterSet
+    filterset = filters.ClusterFilterSet
     table = tables.ClusterTable
     form = forms.ClusterBulkEditForm
     default_return_url = 'virtualization:cluster_list'
@@ -158,7 +158,7 @@ class ClusterBulkEditView(PermissionRequiredMixin, BulkEditView):
 class ClusterBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'virtualization.delete_cluster'
     queryset = Cluster.objects.prefetch_related('type', 'group', 'site')
-    filter = filters.ClusterFilterSet
+    filterset = filters.ClusterFilterSet
     table = tables.ClusterTable
     default_return_url = 'virtualization:cluster_list'
 
@@ -254,8 +254,8 @@ class ClusterRemoveDevicesView(PermissionRequiredMixin, View):
 class VirtualMachineListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'virtualization.view_virtualmachine'
     queryset = VirtualMachine.objects.prefetch_related('cluster', 'tenant', 'role', 'primary_ip4', 'primary_ip6')
-    filter = filters.VirtualMachineFilterSet
-    filter_form = forms.VirtualMachineFilterForm
+    filterset = filters.VirtualMachineFilterSet
+    filterset_form = forms.VirtualMachineFilterForm
     table = tables.VirtualMachineDetailTable
     template_name = 'virtualization/virtualmachine_list.html'
 
@@ -310,7 +310,7 @@ class VirtualMachineBulkImportView(PermissionRequiredMixin, BulkImportView):
 class VirtualMachineBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'virtualization.change_virtualmachine'
     queryset = VirtualMachine.objects.prefetch_related('cluster', 'tenant', 'role')
-    filter = filters.VirtualMachineFilterSet
+    filterset = filters.VirtualMachineFilterSet
     table = tables.VirtualMachineTable
     form = forms.VirtualMachineBulkEditForm
     default_return_url = 'virtualization:virtualmachine_list'
@@ -319,7 +319,7 @@ class VirtualMachineBulkEditView(PermissionRequiredMixin, BulkEditView):
 class VirtualMachineBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'virtualization.delete_virtualmachine'
     queryset = VirtualMachine.objects.prefetch_related('cluster', 'tenant', 'role')
-    filter = filters.VirtualMachineFilterSet
+    filterset = filters.VirtualMachineFilterSet
     table = tables.VirtualMachineTable
     default_return_url = 'virtualization:virtualmachine_list'
 
@@ -376,6 +376,6 @@ class VirtualMachineBulkAddInterfaceView(PermissionRequiredMixin, BulkComponentC
     form = forms.VirtualMachineBulkAddInterfaceForm
     model = Interface
     model_form = forms.InterfaceForm
-    filter = filters.VirtualMachineFilterSet
+    filterset = filters.VirtualMachineFilterSet
     table = tables.VirtualMachineTable
     default_return_url = 'virtualization:virtualmachine_list'