mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-17 13:08:16 -06:00
Remove support for brief_prefetch_fields viewset attribute
This commit is contained in:
parent
f25185661f
commit
9157894cbc
@ -58,7 +58,6 @@ class CircuitTerminationViewSet(PassThroughPortMixin, NetBoxModelViewSet):
|
|||||||
queryset = CircuitTermination.objects.all()
|
queryset = CircuitTermination.objects.all()
|
||||||
serializer_class = serializers.CircuitTerminationSerializer
|
serializer_class = serializers.CircuitTerminationSerializer
|
||||||
filterset_class = filtersets.CircuitTerminationFilterSet
|
filterset_class = filtersets.CircuitTerminationFilterSet
|
||||||
brief_prefetch_fields = ['circuit']
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -274,14 +274,12 @@ class DeviceTypeViewSet(NetBoxModelViewSet):
|
|||||||
)
|
)
|
||||||
serializer_class = serializers.DeviceTypeSerializer
|
serializer_class = serializers.DeviceTypeSerializer
|
||||||
filterset_class = filtersets.DeviceTypeFilterSet
|
filterset_class = filtersets.DeviceTypeFilterSet
|
||||||
brief_prefetch_fields = ['manufacturer']
|
|
||||||
|
|
||||||
|
|
||||||
class ModuleTypeViewSet(NetBoxModelViewSet):
|
class ModuleTypeViewSet(NetBoxModelViewSet):
|
||||||
queryset = ModuleType.objects.all()
|
queryset = ModuleType.objects.all()
|
||||||
serializer_class = serializers.ModuleTypeSerializer
|
serializer_class = serializers.ModuleTypeSerializer
|
||||||
filterset_class = filtersets.ModuleTypeFilterSet
|
filterset_class = filtersets.ModuleTypeFilterSet
|
||||||
brief_prefetch_fields = ['manufacturer']
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -435,7 +433,6 @@ class ConsolePortViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
|||||||
)
|
)
|
||||||
serializer_class = serializers.ConsolePortSerializer
|
serializer_class = serializers.ConsolePortSerializer
|
||||||
filterset_class = filtersets.ConsolePortFilterSet
|
filterset_class = filtersets.ConsolePortFilterSet
|
||||||
brief_prefetch_fields = ['device']
|
|
||||||
|
|
||||||
|
|
||||||
class ConsoleServerPortViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
class ConsoleServerPortViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
||||||
@ -444,7 +441,6 @@ class ConsoleServerPortViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
|||||||
)
|
)
|
||||||
serializer_class = serializers.ConsoleServerPortSerializer
|
serializer_class = serializers.ConsoleServerPortSerializer
|
||||||
filterset_class = filtersets.ConsoleServerPortFilterSet
|
filterset_class = filtersets.ConsoleServerPortFilterSet
|
||||||
brief_prefetch_fields = ['device']
|
|
||||||
|
|
||||||
|
|
||||||
class PowerPortViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
class PowerPortViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
||||||
@ -453,7 +449,6 @@ class PowerPortViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
|||||||
)
|
)
|
||||||
serializer_class = serializers.PowerPortSerializer
|
serializer_class = serializers.PowerPortSerializer
|
||||||
filterset_class = filtersets.PowerPortFilterSet
|
filterset_class = filtersets.PowerPortFilterSet
|
||||||
brief_prefetch_fields = ['device']
|
|
||||||
|
|
||||||
|
|
||||||
class PowerOutletViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
class PowerOutletViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
||||||
@ -462,7 +457,6 @@ class PowerOutletViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
|||||||
)
|
)
|
||||||
serializer_class = serializers.PowerOutletSerializer
|
serializer_class = serializers.PowerOutletSerializer
|
||||||
filterset_class = filtersets.PowerOutletFilterSet
|
filterset_class = filtersets.PowerOutletFilterSet
|
||||||
brief_prefetch_fields = ['device']
|
|
||||||
|
|
||||||
|
|
||||||
class InterfaceViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
class InterfaceViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
||||||
@ -474,7 +468,6 @@ class InterfaceViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
|||||||
)
|
)
|
||||||
serializer_class = serializers.InterfaceSerializer
|
serializer_class = serializers.InterfaceSerializer
|
||||||
filterset_class = filtersets.InterfaceFilterSet
|
filterset_class = filtersets.InterfaceFilterSet
|
||||||
brief_prefetch_fields = ['device']
|
|
||||||
|
|
||||||
def get_bulk_destroy_queryset(self):
|
def get_bulk_destroy_queryset(self):
|
||||||
# Ensure child interfaces are deleted prior to their parents
|
# Ensure child interfaces are deleted prior to their parents
|
||||||
@ -487,7 +480,6 @@ class FrontPortViewSet(PassThroughPortMixin, NetBoxModelViewSet):
|
|||||||
)
|
)
|
||||||
serializer_class = serializers.FrontPortSerializer
|
serializer_class = serializers.FrontPortSerializer
|
||||||
filterset_class = filtersets.FrontPortFilterSet
|
filterset_class = filtersets.FrontPortFilterSet
|
||||||
brief_prefetch_fields = ['device']
|
|
||||||
|
|
||||||
|
|
||||||
class RearPortViewSet(PassThroughPortMixin, NetBoxModelViewSet):
|
class RearPortViewSet(PassThroughPortMixin, NetBoxModelViewSet):
|
||||||
@ -496,28 +488,24 @@ class RearPortViewSet(PassThroughPortMixin, NetBoxModelViewSet):
|
|||||||
)
|
)
|
||||||
serializer_class = serializers.RearPortSerializer
|
serializer_class = serializers.RearPortSerializer
|
||||||
filterset_class = filtersets.RearPortFilterSet
|
filterset_class = filtersets.RearPortFilterSet
|
||||||
brief_prefetch_fields = ['device']
|
|
||||||
|
|
||||||
|
|
||||||
class ModuleBayViewSet(NetBoxModelViewSet):
|
class ModuleBayViewSet(NetBoxModelViewSet):
|
||||||
queryset = ModuleBay.objects.all()
|
queryset = ModuleBay.objects.all()
|
||||||
serializer_class = serializers.ModuleBaySerializer
|
serializer_class = serializers.ModuleBaySerializer
|
||||||
filterset_class = filtersets.ModuleBayFilterSet
|
filterset_class = filtersets.ModuleBayFilterSet
|
||||||
brief_prefetch_fields = ['device']
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceBayViewSet(NetBoxModelViewSet):
|
class DeviceBayViewSet(NetBoxModelViewSet):
|
||||||
queryset = DeviceBay.objects.all()
|
queryset = DeviceBay.objects.all()
|
||||||
serializer_class = serializers.DeviceBaySerializer
|
serializer_class = serializers.DeviceBaySerializer
|
||||||
filterset_class = filtersets.DeviceBayFilterSet
|
filterset_class = filtersets.DeviceBayFilterSet
|
||||||
brief_prefetch_fields = ['device']
|
|
||||||
|
|
||||||
|
|
||||||
class InventoryItemViewSet(MPTTLockedMixin, NetBoxModelViewSet):
|
class InventoryItemViewSet(MPTTLockedMixin, NetBoxModelViewSet):
|
||||||
queryset = InventoryItem.objects.all()
|
queryset = InventoryItem.objects.all()
|
||||||
serializer_class = serializers.InventoryItemSerializer
|
serializer_class = serializers.InventoryItemSerializer
|
||||||
filterset_class = filtersets.InventoryItemFilterSet
|
filterset_class = filtersets.InventoryItemFilterSet
|
||||||
brief_prefetch_fields = ['device']
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -557,7 +545,6 @@ class VirtualChassisViewSet(NetBoxModelViewSet):
|
|||||||
queryset = VirtualChassis.objects.all()
|
queryset = VirtualChassis.objects.all()
|
||||||
serializer_class = serializers.VirtualChassisSerializer
|
serializer_class = serializers.VirtualChassisSerializer
|
||||||
filterset_class = filtersets.VirtualChassisFilterSet
|
filterset_class = filtersets.VirtualChassisFilterSet
|
||||||
brief_prefetch_fields = ['master']
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -134,7 +134,6 @@ class FHRPGroupViewSet(NetBoxModelViewSet):
|
|||||||
queryset = FHRPGroup.objects.all()
|
queryset = FHRPGroup.objects.all()
|
||||||
serializer_class = serializers.FHRPGroupSerializer
|
serializer_class = serializers.FHRPGroupSerializer
|
||||||
filterset_class = filtersets.FHRPGroupFilterSet
|
filterset_class = filtersets.FHRPGroupFilterSet
|
||||||
brief_prefetch_fields = ('ip_addresses',)
|
|
||||||
|
|
||||||
|
|
||||||
class FHRPGroupAssignmentViewSet(NetBoxModelViewSet):
|
class FHRPGroupAssignmentViewSet(NetBoxModelViewSet):
|
||||||
|
@ -30,7 +30,6 @@ class BriefModeMixin:
|
|||||||
GET /api/dcim/sites/?brief=True
|
GET /api/dcim/sites/?brief=True
|
||||||
"""
|
"""
|
||||||
brief = False
|
brief = False
|
||||||
brief_prefetch_fields = []
|
|
||||||
|
|
||||||
def initialize_request(self, request, *args, **kwargs):
|
def initialize_request(self, request, *args, **kwargs):
|
||||||
# Annotate whether brief mode is active
|
# Annotate whether brief mode is active
|
||||||
@ -53,22 +52,6 @@ class BriefModeMixin:
|
|||||||
|
|
||||||
return self.serializer_class
|
return self.serializer_class
|
||||||
|
|
||||||
def get_queryset(self):
|
|
||||||
qs = super().get_queryset()
|
|
||||||
|
|
||||||
if self.brief:
|
|
||||||
serializer_class = self.get_serializer_class()
|
|
||||||
|
|
||||||
# Clear any annotations for fields not present on the nested serializer
|
|
||||||
for annotation in list(qs.query.annotations.keys()):
|
|
||||||
if annotation not in serializer_class().fields:
|
|
||||||
qs.query.annotations.pop(annotation)
|
|
||||||
|
|
||||||
# Clear any prefetches from the queryset and append only brief_prefetch_fields (if any)
|
|
||||||
return qs.prefetch_related(None).prefetch_related(*self.brief_prefetch_fields)
|
|
||||||
|
|
||||||
return qs
|
|
||||||
|
|
||||||
|
|
||||||
class CustomFieldsMixin:
|
class CustomFieldsMixin:
|
||||||
"""
|
"""
|
||||||
|
@ -84,7 +84,6 @@ class VMInterfaceViewSet(NetBoxModelViewSet):
|
|||||||
)
|
)
|
||||||
serializer_class = serializers.VMInterfaceSerializer
|
serializer_class = serializers.VMInterfaceSerializer
|
||||||
filterset_class = filtersets.VMInterfaceFilterSet
|
filterset_class = filtersets.VMInterfaceFilterSet
|
||||||
brief_prefetch_fields = ['virtual_machine']
|
|
||||||
|
|
||||||
def get_bulk_destroy_queryset(self):
|
def get_bulk_destroy_queryset(self):
|
||||||
# Ensure child interfaces are deleted prior to their parents
|
# Ensure child interfaces are deleted prior to their parents
|
||||||
@ -95,4 +94,3 @@ class VirtualDiskViewSet(NetBoxModelViewSet):
|
|||||||
queryset = VirtualDisk.objects.all()
|
queryset = VirtualDisk.objects.all()
|
||||||
serializer_class = serializers.VirtualDiskSerializer
|
serializer_class = serializers.VirtualDiskSerializer
|
||||||
filterset_class = filtersets.VirtualDiskFilterSet
|
filterset_class = filtersets.VirtualDiskFilterSet
|
||||||
brief_prefetch_fields = ['virtual_machine']
|
|
||||||
|
Loading…
Reference in New Issue
Block a user