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',
|
||||
'FrontPortSerializer',
|
||||
'InterfaceSerializer',
|
||||
'GetInterfaceSerializer',
|
||||
'InventoryItemSerializer',
|
||||
'ModuleBaySerializer',
|
||||
'PowerOutletSerializer',
|
||||
@ -169,7 +170,7 @@ class PowerOutletSerializer(NetBoxModelSerializer, CabledObjectSerializer, Conne
|
||||
|
||||
class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:interface-detail')
|
||||
device = DeviceSerializer(nested=False)
|
||||
device = DeviceSerializer(nested=True)
|
||||
vdcs = SerializedPKRelatedField(
|
||||
queryset=VirtualDeviceContext.objects.all(),
|
||||
serializer=VirtualDeviceContextSerializer,
|
||||
@ -249,6 +250,10 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
|
||||
return super().validate(data)
|
||||
|
||||
|
||||
class GetInterfaceSerializer(InterfaceSerializer):
|
||||
device = DeviceSerializer(nested=False)
|
||||
|
||||
|
||||
class RearPortSerializer(NetBoxModelSerializer, CabledObjectSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rearport-detail')
|
||||
device = DeviceSerializer(nested=True)
|
||||
|
@ -440,6 +440,11 @@ class InterfaceViewSet(PathEndpointMixin, NetBoxModelViewSet):
|
||||
serializer_class = serializers.InterfaceSerializer
|
||||
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):
|
||||
# Ensure child interfaces are deleted prior to their parents
|
||||
return self.get_queryset().order_by('device', 'parent', CollateAsChar('_name'))
|
||||
|
Loading…
Reference in New Issue
Block a user