1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Standardized implementation of nested ViewSets

This commit is contained in:
Jeremy Stretch
2017-01-26 17:58:36 -05:00
parent b8ca530c55
commit acfba410dd
9 changed files with 129 additions and 221 deletions

View File

@@ -12,9 +12,6 @@ from . import serializers
#
class VRFViewSet(CustomFieldModelViewSet):
"""
List and retrieve VRFs
"""
queryset = VRF.objects.select_related('tenant')
serializer_class = serializers.VRFSerializer
filter_class = filters.VRFFilter
@@ -25,9 +22,6 @@ class VRFViewSet(CustomFieldModelViewSet):
#
class RoleViewSet(ModelViewSet):
"""
List and retrieve prefix/VLAN roles
"""
queryset = Role.objects.all()
serializer_class = serializers.RoleSerializer
@@ -37,9 +31,6 @@ class RoleViewSet(ModelViewSet):
#
class RIRViewSet(ModelViewSet):
"""
List and retrieve RIRs
"""
queryset = RIR.objects.all()
serializer_class = serializers.RIRSerializer
@@ -49,9 +40,6 @@ class RIRViewSet(ModelViewSet):
#
class AggregateViewSet(CustomFieldModelViewSet):
"""
List and retrieve aggregates
"""
queryset = Aggregate.objects.select_related('rir')
serializer_class = serializers.AggregateSerializer
filter_class = filters.AggregateFilter
@@ -62,9 +50,6 @@ class AggregateViewSet(CustomFieldModelViewSet):
#
class PrefixViewSet(CustomFieldModelViewSet):
"""
List and retrieve prefixes
"""
queryset = Prefix.objects.select_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role')
serializer_class = serializers.PrefixSerializer
filter_class = filters.PrefixFilter
@@ -75,9 +60,6 @@ class PrefixViewSet(CustomFieldModelViewSet):
#
class IPAddressViewSet(CustomFieldModelViewSet):
"""
List and retrieve IP addresses
"""
queryset = IPAddress.objects.select_related('vrf__tenant', 'tenant', 'interface__device', 'nat_inside')
serializer_class = serializers.IPAddressSerializer
filter_class = filters.IPAddressFilter
@@ -88,9 +70,6 @@ class IPAddressViewSet(CustomFieldModelViewSet):
#
class VLANGroupViewSet(ModelViewSet):
"""
List and retrieve VLAN groups
"""
queryset = VLANGroup.objects.select_related('site')
serializer_class = serializers.VLANGroupSerializer
filter_class = filters.VLANGroupFilter
@@ -101,9 +80,6 @@ class VLANGroupViewSet(ModelViewSet):
#
class VLANViewSet(CustomFieldModelViewSet):
"""
List and retrieve VLANs
"""
queryset = VLAN.objects.select_related('site', 'group', 'tenant', 'role')
serializer_class = serializers.VLANSerializer
filter_class = filters.VLANFilter
@@ -114,9 +90,6 @@ class VLANViewSet(CustomFieldModelViewSet):
#
class ServiceViewSet(ModelViewSet):
"""
List and retrieve services
"""
queryset = Service.objects.select_related('device').prefetch_related('ipaddresses')
serializer_class = serializers.ServiceSerializer
filter_class = filters.ServiceFilter