This commit is contained in:
jeremystretch 2022-10-18 12:44:17 -04:00
parent bc0fe05ec9
commit 9b8f011aa7
9 changed files with 10 additions and 121 deletions

View File

@ -1,6 +1,5 @@
from netbox.search import SearchIndex, register_search from netbox.search import SearchIndex, register_search
from utilities.utils import count_related from . import models
from . import filtersets, models
@register_search() @register_search()
@ -11,10 +10,6 @@ class CircuitIndex(SearchIndex):
('description', 500), ('description', 500),
('comments', 5000), ('comments', 5000),
) )
queryset = models.Circuit.objects.prefetch_related(
'type', 'provider', 'tenant', 'tenant__group', 'terminations__site'
)
filterset = filtersets.CircuitFilterSet
@register_search() @register_search()
@ -47,10 +42,6 @@ class ProviderIndex(SearchIndex):
('account', 200), ('account', 200),
('comments', 5000), ('comments', 5000),
) )
queryset = models.Provider.objects.annotate(
count_circuits=count_related(models.Circuit, 'provider')
)
filterset = filtersets.ProviderFilterSet
@register_search() @register_search()
@ -62,5 +53,3 @@ class ProviderNetworkIndex(SearchIndex):
('description', 500), ('description', 500),
('comments', 5000), ('comments', 5000),
) )
queryset = models.ProviderNetwork.objects.prefetch_related('provider')
filterset = filtersets.ProviderNetworkFilterSet

View File

@ -1,6 +1,5 @@
from netbox.search import SearchIndex, register_search from netbox.search import SearchIndex, register_search
from utilities.utils import count_related from . import models
from . import filtersets, models
@register_search() @register_search()
@ -9,8 +8,6 @@ class CableIndex(SearchIndex):
fields = ( fields = (
('label', 100), ('label', 100),
) )
queryset = models.Cable.objects.all()
filterset = filtersets.CableFilterSet
@register_search() @register_search()
@ -44,17 +41,6 @@ class DeviceIndex(SearchIndex):
('name', 100), ('name', 100),
('comments', 5000), ('comments', 5000),
) )
queryset = models.Device.objects.prefetch_related(
'device_type__manufacturer',
'device_role',
'tenant',
'tenant__group',
'site',
'rack',
'primary_ip4',
'primary_ip6',
)
filterset = filtersets.DeviceFilterSet
@register_search() @register_search()
@ -85,10 +71,6 @@ class DeviceTypeIndex(SearchIndex):
('part_number', 200), ('part_number', 200),
('comments', 5000), ('comments', 5000),
) )
queryset = models.DeviceType.objects.prefetch_related('manufacturer').annotate(
instance_count=count_related(models.Device, 'device_type')
)
filterset = filtersets.DeviceTypeFilterSet
@register_search() @register_search()
@ -136,16 +118,6 @@ class LocationIndex(SearchIndex):
('slug', 110), ('slug', 110),
('description', 500), ('description', 500),
) )
queryset = models.Location.objects.add_related_count(
models.Location.objects.add_related_count(
models.Location.objects.all(), models.Device, 'location', 'device_count', cumulative=True
),
models.Rack,
'location',
'rack_count',
cumulative=True,
).prefetch_related('site')
filterset = filtersets.LocationFilterSet
@register_search() @register_search()
@ -166,12 +138,6 @@ class ModuleIndex(SearchIndex):
('serial', 60), ('serial', 60),
('comments', 5000), ('comments', 5000),
) )
queryset = models.Module.objects.prefetch_related(
'module_type__manufacturer',
'device',
'module_bay',
)
filterset = filtersets.ModuleFilterSet
@register_search() @register_search()
@ -192,10 +158,6 @@ class ModuleTypeIndex(SearchIndex):
('part_number', 200), ('part_number', 200),
('comments', 5000), ('comments', 5000),
) )
queryset = models.ModuleType.objects.prefetch_related('manufacturer').annotate(
instance_count=count_related(models.Module, 'module_type')
)
filterset = filtersets.ModuleTypeFilterSet
@register_search() @register_search()
@ -216,8 +178,6 @@ class PowerFeedIndex(SearchIndex):
('name', 100), ('name', 100),
('comments', 5000), ('comments', 5000),
) )
queryset = models.PowerFeed.objects.all()
filterset = filtersets.PowerFeedFilterSet
@register_search() @register_search()
@ -260,10 +220,6 @@ class RackIndex(SearchIndex):
('facility_id', 200), ('facility_id', 200),
('comments', 5000), ('comments', 5000),
) )
queryset = models.Rack.objects.prefetch_related('site', 'location', 'tenant', 'tenant__group', 'role').annotate(
device_count=count_related(models.Device, 'rack')
)
filterset = filtersets.RackFilterSet
@register_search() @register_search()
@ -272,8 +228,6 @@ class RackReservationIndex(SearchIndex):
fields = ( fields = (
('description', 500), ('description', 500),
) )
queryset = models.RackReservation.objects.prefetch_related('rack', 'user')
filterset = filtersets.RackReservationFilterSet
@register_search() @register_search()
@ -316,8 +270,6 @@ class SiteIndex(SearchIndex):
('physical_address', 2000), ('physical_address', 2000),
('shipping_address', 2000), ('shipping_address', 2000),
) )
queryset = models.Site.objects.prefetch_related('region', 'tenant', 'tenant__group')
filterset = filtersets.SiteFilterSet
@register_search() @register_search()
@ -337,7 +289,3 @@ class VirtualChassisIndex(SearchIndex):
('name', 100), ('name', 100),
('domain', 300) ('domain', 300)
) )
queryset = models.VirtualChassis.objects.prefetch_related('master').annotate(
member_count=count_related(models.Device, 'virtual_chassis')
)
filterset = filtersets.VirtualChassisFilterSet

View File

@ -1,5 +1,5 @@
from netbox.search import SearchIndex, register_search from netbox.search import SearchIndex, register_search
from . import filtersets, models from . import models
@register_search() @register_search()
@ -8,6 +8,4 @@ class JournalEntryIndex(SearchIndex):
fields = ( fields = (
('comments', 5000), ('comments', 5000),
) )
queryset = models.JournalEntry.objects.prefetch_related('assigned_object', 'created_by')
filterset = filtersets.JournalEntryFilterSet
category = 'Journal' category = 'Journal'

View File

@ -4,7 +4,9 @@ from .models import DummyModel
class DummyModelIndex(SearchIndex): class DummyModelIndex(SearchIndex):
model = DummyModel model = DummyModel
queryset = DummyModel.objects.all() fields = (
('name', 100),
)
indexes = ( indexes = (

View File

@ -1,4 +1,4 @@
from . import filtersets, models from . import models
from netbox.search import SearchIndex, register_search from netbox.search import SearchIndex, register_search
@ -10,8 +10,6 @@ class AggregateIndex(SearchIndex):
('description', 500), ('description', 500),
('date_added', 2000), ('date_added', 2000),
) )
queryset = models.Aggregate.objects.prefetch_related('rir')
filterset = filtersets.AggregateFilterSet
@register_search() @register_search()
@ -21,8 +19,6 @@ class ASNIndex(SearchIndex):
('asn', 100), ('asn', 100),
('description', 500), ('description', 500),
) )
queryset = models.ASN.objects.prefetch_related('rir', 'tenant', 'tenant__group')
filterset = filtersets.ASNFilterSet
@register_search() @register_search()
@ -43,8 +39,6 @@ class IPAddressIndex(SearchIndex):
('dns_name', 300), ('dns_name', 300),
('description', 500), ('description', 500),
) )
queryset = models.IPAddress.objects.prefetch_related('vrf__tenant', 'tenant', 'tenant__group')
filterset = filtersets.IPAddressFilterSet
@register_search() @register_search()
@ -74,10 +68,6 @@ class PrefixIndex(SearchIndex):
('prefix', 100), ('prefix', 100),
('description', 500), ('description', 500),
) )
queryset = models.Prefix.objects.prefetch_related(
'site', 'vrf__tenant', 'tenant', 'tenant__group', 'vlan', 'role'
)
filterset = filtersets.PrefixFilterSet
@register_search() @register_search()
@ -116,8 +106,6 @@ class ServiceIndex(SearchIndex):
('name', 100), ('name', 100),
('description', 500), ('description', 500),
) )
queryset = models.Service.objects.prefetch_related('device', 'virtual_machine')
filterset = filtersets.ServiceFilterSet
@register_search() @register_search()
@ -128,8 +116,6 @@ class VLANIndex(SearchIndex):
('vid', 100), ('vid', 100),
('description', 500), ('description', 500),
) )
queryset = models.VLAN.objects.prefetch_related('site', 'group', 'tenant', 'tenant__group', 'role')
filterset = filtersets.VLANFilterSet
@register_search() @register_search()
@ -151,5 +137,3 @@ class VRFIndex(SearchIndex):
('rd', 200), ('rd', 200),
('description', 500), ('description', 500),
) )
queryset = models.VRF.objects.prefetch_related('tenant', 'tenant__group')
filterset = filtersets.VRFFilterSet

View File

@ -9,7 +9,6 @@ from django.db import models
from taggit.managers import TaggableManager from taggit.managers import TaggableManager
from extras.choices import CustomFieldVisibilityChoices, ObjectChangeActionChoices from extras.choices import CustomFieldVisibilityChoices, ObjectChangeActionChoices
from extras.registry import registry
from extras.utils import is_taggable, register_features from extras.utils import is_taggable, register_features
from netbox.signals import post_clean from netbox.signals import post_clean
from utilities.json import CustomFieldJSONEncoder from utilities.json import CustomFieldJSONEncoder

View File

@ -1,6 +1,5 @@
from netbox.search import SearchIndex, register_search from netbox.search import SearchIndex, register_search
from utilities.utils import count_related from . import models
from . import filtersets, models
@register_search() @register_search()
@ -15,10 +14,6 @@ class ContactIndex(SearchIndex):
('link', 300), ('link', 300),
('comments', 5000), ('comments', 5000),
) )
queryset = models.Contact.objects.prefetch_related('group', 'assignments').annotate(
assignment_count=count_related(models.ContactAssignment, 'contact')
)
filterset = filtersets.ContactFilterSet
@register_search() @register_search()
@ -50,8 +45,6 @@ class TenantIndex(SearchIndex):
('description', 500), ('description', 500),
('comments', 5000), ('comments', 5000),
) )
queryset = models.Tenant.objects.prefetch_related('group')
filterset = filtersets.TenantFilterSet
@register_search() @register_search()

View File

@ -1,7 +1,5 @@
from dcim.models import Device
from netbox.search import SearchIndex, register_search from netbox.search import SearchIndex, register_search
from utilities.utils import count_related from . import models
from . import filtersets, models
@register_search() @register_search()
@ -11,11 +9,6 @@ class ClusterIndex(SearchIndex):
('name', 100), ('name', 100),
('comments', 5000), ('comments', 5000),
) )
queryset = models.Cluster.objects.prefetch_related('type', 'group').annotate(
device_count=count_related(Device, 'cluster'),
vm_count=count_related(models.VirtualMachine, 'cluster')
)
filterset = filtersets.ClusterFilterSet
@register_search() @register_search()
@ -45,15 +38,6 @@ class VirtualMachineIndex(SearchIndex):
('name', 100), ('name', 100),
('comments', 5000), ('comments', 5000),
) )
queryset = models.VirtualMachine.objects.prefetch_related(
'cluster',
'tenant',
'tenant__group',
'platform',
'primary_ip4',
'primary_ip6',
)
filterset = filtersets.VirtualMachineFilterSet
@register_search() @register_search()

View File

@ -1,7 +1,5 @@
from dcim.models import Interface
from netbox.search import SearchIndex, register_search from netbox.search import SearchIndex, register_search
from utilities.utils import count_related from . import models
from . import filtersets, models
@register_search() @register_search()
@ -12,10 +10,6 @@ class WirelessLANIndex(SearchIndex):
('description', 500), ('description', 500),
('auth_psk', 2000), ('auth_psk', 2000),
) )
queryset = models.WirelessLAN.objects.prefetch_related('group', 'vlan').annotate(
interface_count=count_related(Interface, 'wireless_lans')
)
filterset = filtersets.WirelessLANFilterSet
@register_search() @register_search()
@ -36,5 +30,3 @@ class WirelessLinkIndex(SearchIndex):
('description', 500), ('description', 500),
('auth_psk', 2000), ('auth_psk', 2000),
) )
queryset = models.WirelessLink.objects.prefetch_related('interface_a__device', 'interface_b__device')
filterset = filtersets.WirelessLinkFilterSet