From 80c8d2f0c08360dc1716d4c53d0a74dd1ecbef65 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 5 Jul 2016 15:32:16 -0400 Subject: [PATCH] Added parent_device to DeviceSerializer --- netbox/dcim/api/serializers.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index 50b2348ad..2e9335069 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -221,11 +221,26 @@ class DeviceSerializer(serializers.ModelSerializer): platform = PlatformNestedSerializer() rack = RackNestedSerializer() primary_ip = DeviceIPAddressNestedSerializer() + parent_device = serializers.SerializerMethodField() class Meta: model = Device fields = ['id', 'name', 'display_name', 'device_type', 'device_role', 'platform', 'serial', 'rack', 'position', - 'face', 'status', 'primary_ip', 'comments'] + 'face', 'parent_device', 'status', 'primary_ip', 'comments'] + + def get_parent_device(self, obj): + try: + device_bay = obj.parent_bay + except DeviceBay.DoesNotExist: + return None + return { + 'id': device_bay.device.pk, + 'name': device_bay.device.name, + 'device_bay': { + 'id': device_bay.pk, + 'name': device_bay.name, + } + } class DeviceNestedSerializer(serializers.ModelSerializer):