Browse Source

Added parent_device to DeviceSerializer

Jeremy Stretch 8 years ago
parent
commit
80c8d2f0c0
1 changed files with 16 additions and 1 deletions
  1. 16 1
      netbox/dcim/api/serializers.py

+ 16 - 1
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):