mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Remove extraneous prefetch_related() calls from object list views
This commit is contained in:
@ -124,7 +124,7 @@ class CircuitListView(ObjectListView):
|
|||||||
|
|
||||||
|
|
||||||
class CircuitView(ObjectView):
|
class CircuitView(ObjectView):
|
||||||
queryset = Circuit.objects.prefetch_related('provider', 'type', 'tenant__group')
|
queryset = Circuit.objects.all()
|
||||||
|
|
||||||
def get(self, request, pk):
|
def get(self, request, pk):
|
||||||
circuit = get_object_or_404(self.queryset, pk=pk)
|
circuit = get_object_or_404(self.queryset, pk=pk)
|
||||||
|
@ -147,7 +147,7 @@ class RegionBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class SiteListView(ObjectListView):
|
class SiteListView(ObjectListView):
|
||||||
queryset = Site.objects.prefetch_related('region', 'tenant')
|
queryset = Site.objects.all()
|
||||||
filterset = filters.SiteFilterSet
|
filterset = filters.SiteFilterSet
|
||||||
filterset_form = forms.SiteFilterForm
|
filterset_form = forms.SiteFilterForm
|
||||||
table = tables.SiteTable
|
table = tables.SiteTable
|
||||||
@ -222,7 +222,7 @@ class RackGroupListView(ObjectListView):
|
|||||||
'group',
|
'group',
|
||||||
'rack_count',
|
'rack_count',
|
||||||
cumulative=True
|
cumulative=True
|
||||||
).prefetch_related('site')
|
)
|
||||||
filterset = filters.RackGroupFilterSet
|
filterset = filters.RackGroupFilterSet
|
||||||
filterset_form = forms.RackGroupFilterForm
|
filterset_form = forms.RackGroupFilterForm
|
||||||
table = tables.RackGroupTable
|
table = tables.RackGroupTable
|
||||||
@ -289,9 +289,7 @@ class RackRoleBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class RackListView(ObjectListView):
|
class RackListView(ObjectListView):
|
||||||
queryset = Rack.objects.prefetch_related(
|
queryset = Rack.objects.annotate(
|
||||||
'site', 'group', 'tenant', 'role', 'devices__device_type'
|
|
||||||
).annotate(
|
|
||||||
device_count=Count('devices')
|
device_count=Count('devices')
|
||||||
).order_by(*Rack._meta.ordering)
|
).order_by(*Rack._meta.ordering)
|
||||||
filterset = filters.RackFilterSet
|
filterset = filters.RackFilterSet
|
||||||
@ -410,7 +408,7 @@ class RackBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class RackReservationListView(ObjectListView):
|
class RackReservationListView(ObjectListView):
|
||||||
queryset = RackReservation.objects.prefetch_related('rack__site')
|
queryset = RackReservation.objects.all()
|
||||||
filterset = filters.RackReservationFilterSet
|
filterset = filters.RackReservationFilterSet
|
||||||
filterset_form = forms.RackReservationFilterForm
|
filterset_form = forms.RackReservationFilterForm
|
||||||
table = tables.RackReservationTable
|
table = tables.RackReservationTable
|
||||||
@ -514,7 +512,7 @@ class ManufacturerBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class DeviceTypeListView(ObjectListView):
|
class DeviceTypeListView(ObjectListView):
|
||||||
queryset = DeviceType.objects.prefetch_related('manufacturer').annotate(
|
queryset = DeviceType.objects.annotate(
|
||||||
instance_count=Count('instances')
|
instance_count=Count('instances')
|
||||||
).order_by(*DeviceType._meta.ordering)
|
).order_by(*DeviceType._meta.ordering)
|
||||||
filterset = filters.DeviceTypeFilterSet
|
filterset = filters.DeviceTypeFilterSet
|
||||||
@ -989,9 +987,7 @@ class PlatformBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class DeviceListView(ObjectListView):
|
class DeviceListView(ObjectListView):
|
||||||
queryset = Device.objects.prefetch_related(
|
queryset = Device.objects.all()
|
||||||
'device_type__manufacturer', 'device_role', 'tenant', 'site', 'rack', 'primary_ip4', 'primary_ip6'
|
|
||||||
)
|
|
||||||
filterset = filters.DeviceFilterSet
|
filterset = filters.DeviceFilterSet
|
||||||
filterset_form = forms.DeviceFilterForm
|
filterset_form = forms.DeviceFilterForm
|
||||||
table = tables.DeviceTable
|
table = tables.DeviceTable
|
||||||
@ -1263,7 +1259,7 @@ class DeviceBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class ConsolePortListView(ObjectListView):
|
class ConsolePortListView(ObjectListView):
|
||||||
queryset = ConsolePort.objects.prefetch_related('device', 'cable')
|
queryset = ConsolePort.objects.all()
|
||||||
filterset = filters.ConsolePortFilterSet
|
filterset = filters.ConsolePortFilterSet
|
||||||
filterset_form = forms.ConsolePortFilterForm
|
filterset_form = forms.ConsolePortFilterForm
|
||||||
table = tables.ConsolePortTable
|
table = tables.ConsolePortTable
|
||||||
@ -1323,7 +1319,7 @@ class ConsolePortBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class ConsoleServerPortListView(ObjectListView):
|
class ConsoleServerPortListView(ObjectListView):
|
||||||
queryset = ConsoleServerPort.objects.prefetch_related('device', 'cable')
|
queryset = ConsoleServerPort.objects.all()
|
||||||
filterset = filters.ConsoleServerPortFilterSet
|
filterset = filters.ConsoleServerPortFilterSet
|
||||||
filterset_form = forms.ConsoleServerPortFilterForm
|
filterset_form = forms.ConsoleServerPortFilterForm
|
||||||
table = tables.ConsoleServerPortTable
|
table = tables.ConsoleServerPortTable
|
||||||
@ -1383,7 +1379,7 @@ class ConsoleServerPortBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class PowerPortListView(ObjectListView):
|
class PowerPortListView(ObjectListView):
|
||||||
queryset = PowerPort.objects.prefetch_related('device', 'cable')
|
queryset = PowerPort.objects.all()
|
||||||
filterset = filters.PowerPortFilterSet
|
filterset = filters.PowerPortFilterSet
|
||||||
filterset_form = forms.PowerPortFilterForm
|
filterset_form = forms.PowerPortFilterForm
|
||||||
table = tables.PowerPortTable
|
table = tables.PowerPortTable
|
||||||
@ -1443,7 +1439,7 @@ class PowerPortBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class PowerOutletListView(ObjectListView):
|
class PowerOutletListView(ObjectListView):
|
||||||
queryset = PowerOutlet.objects.prefetch_related('device', 'cable')
|
queryset = PowerOutlet.objects.all()
|
||||||
filterset = filters.PowerOutletFilterSet
|
filterset = filters.PowerOutletFilterSet
|
||||||
filterset_form = forms.PowerOutletFilterForm
|
filterset_form = forms.PowerOutletFilterForm
|
||||||
table = tables.PowerOutletTable
|
table = tables.PowerOutletTable
|
||||||
@ -1503,7 +1499,7 @@ class PowerOutletBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class InterfaceListView(ObjectListView):
|
class InterfaceListView(ObjectListView):
|
||||||
queryset = Interface.objects.prefetch_related('device', 'cable')
|
queryset = Interface.objects.all()
|
||||||
filterset = filters.InterfaceFilterSet
|
filterset = filters.InterfaceFilterSet
|
||||||
filterset_form = forms.InterfaceFilterForm
|
filterset_form = forms.InterfaceFilterForm
|
||||||
table = tables.InterfaceTable
|
table = tables.InterfaceTable
|
||||||
@ -1593,7 +1589,7 @@ class InterfaceBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class FrontPortListView(ObjectListView):
|
class FrontPortListView(ObjectListView):
|
||||||
queryset = FrontPort.objects.prefetch_related('device', 'cable')
|
queryset = FrontPort.objects.all()
|
||||||
filterset = filters.FrontPortFilterSet
|
filterset = filters.FrontPortFilterSet
|
||||||
filterset_form = forms.FrontPortFilterForm
|
filterset_form = forms.FrontPortFilterForm
|
||||||
table = tables.FrontPortTable
|
table = tables.FrontPortTable
|
||||||
@ -1653,7 +1649,7 @@ class FrontPortBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class RearPortListView(ObjectListView):
|
class RearPortListView(ObjectListView):
|
||||||
queryset = RearPort.objects.prefetch_related('device', 'cable')
|
queryset = RearPort.objects.all()
|
||||||
filterset = filters.RearPortFilterSet
|
filterset = filters.RearPortFilterSet
|
||||||
filterset_form = forms.RearPortFilterForm
|
filterset_form = forms.RearPortFilterForm
|
||||||
table = tables.RearPortTable
|
table = tables.RearPortTable
|
||||||
@ -1713,7 +1709,7 @@ class RearPortBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class DeviceBayListView(ObjectListView):
|
class DeviceBayListView(ObjectListView):
|
||||||
queryset = DeviceBay.objects.prefetch_related('device', 'installed_device')
|
queryset = DeviceBay.objects.all()
|
||||||
filterset = filters.DeviceBayFilterSet
|
filterset = filters.DeviceBayFilterSet
|
||||||
filterset_form = forms.DeviceBayFilterForm
|
filterset_form = forms.DeviceBayFilterForm
|
||||||
table = tables.DeviceBayTable
|
table = tables.DeviceBayTable
|
||||||
@ -1836,7 +1832,7 @@ class DeviceBayBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class InventoryItemListView(ObjectListView):
|
class InventoryItemListView(ObjectListView):
|
||||||
queryset = InventoryItem.objects.prefetch_related('device', 'manufacturer')
|
queryset = InventoryItem.objects.all()
|
||||||
filterset = filters.InventoryItemFilterSet
|
filterset = filters.InventoryItemFilterSet
|
||||||
filterset_form = forms.InventoryItemFilterForm
|
filterset_form = forms.InventoryItemFilterForm
|
||||||
table = tables.InventoryItemTable
|
table = tables.InventoryItemTable
|
||||||
@ -1994,9 +1990,7 @@ class DeviceBulkAddInventoryItemView(BulkComponentCreateView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class CableListView(ObjectListView):
|
class CableListView(ObjectListView):
|
||||||
queryset = Cable.objects.prefetch_related(
|
queryset = Cable.objects.all()
|
||||||
'termination_a', 'termination_b'
|
|
||||||
)
|
|
||||||
filterset = filters.CableFilterSet
|
filterset = filters.CableFilterSet
|
||||||
filterset_form = forms.CableFilterForm
|
filterset_form = forms.CableFilterForm
|
||||||
table = tables.CableTable
|
table = tables.CableTable
|
||||||
@ -2145,9 +2139,7 @@ class CableBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class ConsoleConnectionsListView(ObjectListView):
|
class ConsoleConnectionsListView(ObjectListView):
|
||||||
queryset = ConsolePort.objects.prefetch_related(
|
queryset = ConsolePort.objects.filter(_path__isnull=False).order_by('device')
|
||||||
'device', '_path__destination'
|
|
||||||
).filter(_path__isnull=False).order_by('device')
|
|
||||||
filterset = filters.ConsoleConnectionFilterSet
|
filterset = filters.ConsoleConnectionFilterSet
|
||||||
filterset_form = forms.ConsoleConnectionFilterForm
|
filterset_form = forms.ConsoleConnectionFilterForm
|
||||||
table = tables.ConsoleConnectionTable
|
table = tables.ConsoleConnectionTable
|
||||||
@ -2172,9 +2164,7 @@ class ConsoleConnectionsListView(ObjectListView):
|
|||||||
|
|
||||||
|
|
||||||
class PowerConnectionsListView(ObjectListView):
|
class PowerConnectionsListView(ObjectListView):
|
||||||
queryset = PowerPort.objects.prefetch_related(
|
queryset = PowerPort.objects.filter(_path__isnull=False).order_by('device')
|
||||||
'device', '_path__destination'
|
|
||||||
).filter(_path__isnull=False).order_by('device')
|
|
||||||
filterset = filters.PowerConnectionFilterSet
|
filterset = filters.PowerConnectionFilterSet
|
||||||
filterset_form = forms.PowerConnectionFilterForm
|
filterset_form = forms.PowerConnectionFilterForm
|
||||||
table = tables.PowerConnectionTable
|
table = tables.PowerConnectionTable
|
||||||
@ -2199,9 +2189,7 @@ class PowerConnectionsListView(ObjectListView):
|
|||||||
|
|
||||||
|
|
||||||
class InterfaceConnectionsListView(ObjectListView):
|
class InterfaceConnectionsListView(ObjectListView):
|
||||||
queryset = Interface.objects.prefetch_related(
|
queryset = Interface.objects.filter(
|
||||||
'device', '_path__destination'
|
|
||||||
).filter(
|
|
||||||
# Avoid duplicate connections by only selecting the lower PK in a connected pair
|
# Avoid duplicate connections by only selecting the lower PK in a connected pair
|
||||||
_path__isnull=False,
|
_path__isnull=False,
|
||||||
pk__lt=F('_path__destination_id')
|
pk__lt=F('_path__destination_id')
|
||||||
@ -2236,7 +2224,7 @@ class InterfaceConnectionsListView(ObjectListView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VirtualChassisListView(ObjectListView):
|
class VirtualChassisListView(ObjectListView):
|
||||||
queryset = VirtualChassis.objects.prefetch_related('master').annotate(
|
queryset = VirtualChassis.objects.annotate(
|
||||||
member_count=Count('members', distinct=True)
|
member_count=Count('members', distinct=True)
|
||||||
).order_by(*VirtualChassis._meta.ordering)
|
).order_by(*VirtualChassis._meta.ordering)
|
||||||
table = tables.VirtualChassisTable
|
table = tables.VirtualChassisTable
|
||||||
@ -2466,9 +2454,7 @@ class VirtualChassisBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class PowerPanelListView(ObjectListView):
|
class PowerPanelListView(ObjectListView):
|
||||||
queryset = PowerPanel.objects.prefetch_related(
|
queryset = PowerPanel.objects.annotate(
|
||||||
'site', 'rack_group'
|
|
||||||
).annotate(
|
|
||||||
powerfeed_count=Count('powerfeeds')
|
powerfeed_count=Count('powerfeeds')
|
||||||
).order_by(*PowerPanel._meta.ordering)
|
).order_by(*PowerPanel._meta.ordering)
|
||||||
filterset = filters.PowerPanelFilterSet
|
filterset = filters.PowerPanelFilterSet
|
||||||
@ -2532,9 +2518,7 @@ class PowerPanelBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class PowerFeedListView(ObjectListView):
|
class PowerFeedListView(ObjectListView):
|
||||||
queryset = PowerFeed.objects.prefetch_related(
|
queryset = PowerFeed.objects.all()
|
||||||
'power_panel', 'rack'
|
|
||||||
)
|
|
||||||
filterset = filters.PowerFeedFilterSet
|
filterset = filters.PowerFeedFilterSet
|
||||||
filterset_form = forms.PowerFeedFilterForm
|
filterset_form = forms.PowerFeedFilterForm
|
||||||
table = tables.PowerFeedTable
|
table = tables.PowerFeedTable
|
||||||
|
@ -173,7 +173,7 @@ class ObjectConfigContextView(ObjectView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class ObjectChangeListView(ObjectListView):
|
class ObjectChangeListView(ObjectListView):
|
||||||
queryset = ObjectChange.objects.prefetch_related('user', 'changed_object_type')
|
queryset = ObjectChange.objects.all()
|
||||||
filterset = filters.ObjectChangeFilterSet
|
filterset = filters.ObjectChangeFilterSet
|
||||||
filterset_form = forms.ObjectChangeFilterForm
|
filterset_form = forms.ObjectChangeFilterForm
|
||||||
table = tables.ObjectChangeTable
|
table = tables.ObjectChangeTable
|
||||||
|
@ -25,7 +25,7 @@ from .utils import add_available_ipaddresses, add_available_prefixes, add_availa
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VRFListView(ObjectListView):
|
class VRFListView(ObjectListView):
|
||||||
queryset = VRF.objects.prefetch_related('tenant')
|
queryset = VRF.objects.all()
|
||||||
filterset = filters.VRFFilterSet
|
filterset = filters.VRFFilterSet
|
||||||
filterset_form = forms.VRFFilterForm
|
filterset_form = forms.VRFFilterForm
|
||||||
table = tables.VRFTable
|
table = tables.VRFTable
|
||||||
@ -90,7 +90,7 @@ class VRFBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class RouteTargetListView(ObjectListView):
|
class RouteTargetListView(ObjectListView):
|
||||||
queryset = RouteTarget.objects.prefetch_related('tenant')
|
queryset = RouteTarget.objects.all()
|
||||||
filterset = filters.RouteTargetFilterSet
|
filterset = filters.RouteTargetFilterSet
|
||||||
filterset_form = forms.RouteTargetFilterForm
|
filterset_form = forms.RouteTargetFilterForm
|
||||||
table = tables.RouteTargetTable
|
table = tables.RouteTargetTable
|
||||||
@ -184,7 +184,7 @@ class RIRBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class AggregateListView(ObjectListView):
|
class AggregateListView(ObjectListView):
|
||||||
queryset = Aggregate.objects.prefetch_related('rir').annotate(
|
queryset = Aggregate.objects.annotate(
|
||||||
child_count=RawSQL('SELECT COUNT(*) FROM ipam_prefix WHERE ipam_prefix.prefix <<= ipam_aggregate.prefix', ())
|
child_count=RawSQL('SELECT COUNT(*) FROM ipam_prefix WHERE ipam_prefix.prefix <<= ipam_aggregate.prefix', ())
|
||||||
).order_by(*Aggregate._meta.ordering)
|
).order_by(*Aggregate._meta.ordering)
|
||||||
filterset = filters.AggregateFilterSet
|
filterset = filters.AggregateFilterSet
|
||||||
@ -320,7 +320,7 @@ class RoleBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class PrefixListView(ObjectListView):
|
class PrefixListView(ObjectListView):
|
||||||
queryset = Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role').annotate_tree()
|
queryset = Prefix.objects.annotate_tree()
|
||||||
filterset = filters.PrefixFilterSet
|
filterset = filters.PrefixFilterSet
|
||||||
filterset_form = forms.PrefixFilterForm
|
filterset_form = forms.PrefixFilterForm
|
||||||
table = tables.PrefixDetailTable
|
table = tables.PrefixDetailTable
|
||||||
@ -494,9 +494,7 @@ class PrefixBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class IPAddressListView(ObjectListView):
|
class IPAddressListView(ObjectListView):
|
||||||
queryset = IPAddress.objects.prefetch_related(
|
queryset = IPAddress.objects.all()
|
||||||
'vrf__tenant', 'tenant', 'nat_inside', 'assigned_object'
|
|
||||||
)
|
|
||||||
filterset = filters.IPAddressFilterSet
|
filterset = filters.IPAddressFilterSet
|
||||||
filterset_form = forms.IPAddressFilterForm
|
filterset_form = forms.IPAddressFilterForm
|
||||||
table = tables.IPAddressDetailTable
|
table = tables.IPAddressDetailTable
|
||||||
@ -653,7 +651,7 @@ class IPAddressBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VLANGroupListView(ObjectListView):
|
class VLANGroupListView(ObjectListView):
|
||||||
queryset = VLANGroup.objects.prefetch_related('site').annotate(
|
queryset = VLANGroup.objects.annotate(
|
||||||
vlan_count=Count('vlans')
|
vlan_count=Count('vlans')
|
||||||
).order_by(*VLANGroup._meta.ordering)
|
).order_by(*VLANGroup._meta.ordering)
|
||||||
filterset = filters.VLANGroupFilterSet
|
filterset = filters.VLANGroupFilterSet
|
||||||
@ -728,9 +726,7 @@ class VLANGroupVLANsView(ObjectView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VLANListView(ObjectListView):
|
class VLANListView(ObjectListView):
|
||||||
queryset = VLAN.objects.prefetch_related(
|
queryset = VLAN.objects.all()
|
||||||
'site', 'group', 'tenant', 'role', 'prefixes'
|
|
||||||
)
|
|
||||||
filterset = filters.VLANFilterSet
|
filterset = filters.VLANFilterSet
|
||||||
filterset_form = forms.VLANFilterForm
|
filterset_form = forms.VLANFilterForm
|
||||||
table = tables.VLANDetailTable
|
table = tables.VLANDetailTable
|
||||||
@ -830,7 +826,7 @@ class VLANBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class ServiceListView(ObjectListView):
|
class ServiceListView(ObjectListView):
|
||||||
queryset = Service.objects.prefetch_related('device', 'virtual_machine')
|
queryset = Service.objects.all()
|
||||||
filterset = filters.ServiceFilterSet
|
filterset = filters.ServiceFilterSet
|
||||||
filterset_form = forms.ServiceFilterForm
|
filterset_form = forms.ServiceFilterForm
|
||||||
table = tables.ServiceTable
|
table = tables.ServiceTable
|
||||||
|
@ -58,7 +58,7 @@ class SecretRoleBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class SecretListView(ObjectListView):
|
class SecretListView(ObjectListView):
|
||||||
queryset = Secret.objects.prefetch_related('role', 'tags')
|
queryset = Secret.objects.all()
|
||||||
filterset = filters.SecretFilterSet
|
filterset = filters.SecretFilterSet
|
||||||
filterset_form = forms.SecretFilterForm
|
filterset_form = forms.SecretFilterForm
|
||||||
table = tables.SecretTable
|
table = tables.SecretTable
|
||||||
|
@ -58,7 +58,7 @@ class TenantGroupBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class TenantListView(ObjectListView):
|
class TenantListView(ObjectListView):
|
||||||
queryset = Tenant.objects.prefetch_related('group')
|
queryset = Tenant.objects.all()
|
||||||
filterset = filters.TenantFilterSet
|
filterset = filters.TenantFilterSet
|
||||||
filterset_form = forms.TenantFilterForm
|
filterset_form = forms.TenantFilterForm
|
||||||
table = tables.TenantTable
|
table = tables.TenantTable
|
||||||
|
@ -195,7 +195,8 @@ class ObjectListView(ObjectPermissionRequiredMixin, View):
|
|||||||
"""
|
"""
|
||||||
List a series of objects.
|
List a series of objects.
|
||||||
|
|
||||||
queryset: The queryset of objects to display
|
queryset: The queryset of objects to display. Note: Prefetching related objects is not necessary, as the
|
||||||
|
table will prefetch objects as needed depending on the columns being displayed.
|
||||||
filter: A django-filter FilterSet that is applied to the queryset
|
filter: A django-filter FilterSet that is applied to the queryset
|
||||||
filter_form: The form used to render filter options
|
filter_form: The form used to render filter options
|
||||||
table: The django-tables2 Table used to render the objects list
|
table: The django-tables2 Table used to render the objects list
|
||||||
|
@ -83,7 +83,7 @@ class ClusterGroupBulkDeleteView(BulkDeleteView):
|
|||||||
|
|
||||||
class ClusterListView(ObjectListView):
|
class ClusterListView(ObjectListView):
|
||||||
permission_required = 'virtualization.view_cluster'
|
permission_required = 'virtualization.view_cluster'
|
||||||
queryset = Cluster.objects.prefetch_related('type', 'group', 'site', 'tenant').annotate(
|
queryset = Cluster.objects.annotate(
|
||||||
device_count=get_subquery(Device, 'cluster'),
|
device_count=get_subquery(Device, 'cluster'),
|
||||||
vm_count=get_subquery(VirtualMachine, 'cluster')
|
vm_count=get_subquery(VirtualMachine, 'cluster')
|
||||||
)
|
)
|
||||||
@ -230,7 +230,7 @@ class ClusterRemoveDevicesView(ObjectEditView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VirtualMachineListView(ObjectListView):
|
class VirtualMachineListView(ObjectListView):
|
||||||
queryset = VirtualMachine.objects.prefetch_related('cluster', 'tenant', 'role', 'primary_ip4', 'primary_ip6')
|
queryset = VirtualMachine.objects.all()
|
||||||
filterset = filters.VirtualMachineFilterSet
|
filterset = filters.VirtualMachineFilterSet
|
||||||
filterset_form = forms.VirtualMachineFilterForm
|
filterset_form = forms.VirtualMachineFilterForm
|
||||||
table = tables.VirtualMachineDetailTable
|
table = tables.VirtualMachineDetailTable
|
||||||
@ -311,7 +311,7 @@ class VirtualMachineBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VMInterfaceListView(ObjectListView):
|
class VMInterfaceListView(ObjectListView):
|
||||||
queryset = VMInterface.objects.prefetch_related('virtual_machine')
|
queryset = VMInterface.objects.all()
|
||||||
filterset = filters.VMInterfaceFilterSet
|
filterset = filters.VMInterfaceFilterSet
|
||||||
filterset_form = forms.VMInterfaceFilterForm
|
filterset_form = forms.VMInterfaceFilterForm
|
||||||
table = tables.VMInterfaceTable
|
table = tables.VMInterfaceTable
|
||||||
|
Reference in New Issue
Block a user