mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-09 00:58:16 -06:00
Created GetInterfaceSerializer with device not nested.
Added get_serializer_class for InterfaceViewSet.
This commit is contained in:
parent
100a68db83
commit
bb17d7a908
@ -32,6 +32,7 @@ __all__ = (
|
|||||||
'DeviceBaySerializer',
|
'DeviceBaySerializer',
|
||||||
'FrontPortSerializer',
|
'FrontPortSerializer',
|
||||||
'InterfaceSerializer',
|
'InterfaceSerializer',
|
||||||
|
'GetInterfaceSerializer',
|
||||||
'InventoryItemSerializer',
|
'InventoryItemSerializer',
|
||||||
'ModuleBaySerializer',
|
'ModuleBaySerializer',
|
||||||
'PowerOutletSerializer',
|
'PowerOutletSerializer',
|
||||||
@ -169,7 +170,7 @@ class PowerOutletSerializer(NetBoxModelSerializer, CabledObjectSerializer, Conne
|
|||||||
|
|
||||||
class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:interface-detail')
|
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:interface-detail')
|
||||||
device = DeviceSerializer(nested=False)
|
device = DeviceSerializer(nested=True)
|
||||||
vdcs = SerializedPKRelatedField(
|
vdcs = SerializedPKRelatedField(
|
||||||
queryset=VirtualDeviceContext.objects.all(),
|
queryset=VirtualDeviceContext.objects.all(),
|
||||||
serializer=VirtualDeviceContextSerializer,
|
serializer=VirtualDeviceContextSerializer,
|
||||||
@ -249,6 +250,10 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
|
|||||||
return super().validate(data)
|
return super().validate(data)
|
||||||
|
|
||||||
|
|
||||||
|
class GetInterfaceSerializer(InterfaceSerializer):
|
||||||
|
device = DeviceSerializer(nested=False)
|
||||||
|
|
||||||
|
|
||||||
class RearPortSerializer(NetBoxModelSerializer, CabledObjectSerializer):
|
class RearPortSerializer(NetBoxModelSerializer, CabledObjectSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rearport-detail')
|
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rearport-detail')
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
|
@ -440,6 +440,11 @@ class InterfaceViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
|||||||
serializer_class = serializers.InterfaceSerializer
|
serializer_class = serializers.InterfaceSerializer
|
||||||
filterset_class = filtersets.InterfaceFilterSet
|
filterset_class = filtersets.InterfaceFilterSet
|
||||||
|
|
||||||
|
def get_serializer_class(self):
|
||||||
|
if self.request.method == 'GET':
|
||||||
|
return serializers.GetInterfaceSerializer
|
||||||
|
return self.serializer_class
|
||||||
|
|
||||||
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
|
||||||
return self.get_queryset().order_by('device', 'parent', CollateAsChar('_name'))
|
return self.get_queryset().order_by('device', 'parent', CollateAsChar('_name'))
|
||||||
|
Loading…
Reference in New Issue
Block a user