mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Closes #14454: Include member devices for virtual chassis in REST API
This commit is contained in:
@ -12,6 +12,7 @@ __all__ = (
|
|||||||
class VirtualChassisSerializer(NetBoxModelSerializer):
|
class VirtualChassisSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:virtualchassis-detail')
|
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:virtualchassis-detail')
|
||||||
master = NestedDeviceSerializer(required=False, allow_null=True, default=None)
|
master = NestedDeviceSerializer(required=False, allow_null=True, default=None)
|
||||||
|
members = NestedDeviceSerializer(many=True, read_only=True)
|
||||||
|
|
||||||
# Counter fields
|
# Counter fields
|
||||||
member_count = serializers.IntegerField(read_only=True)
|
member_count = serializers.IntegerField(read_only=True)
|
||||||
@ -20,6 +21,6 @@ class VirtualChassisSerializer(NetBoxModelSerializer):
|
|||||||
model = VirtualChassis
|
model = VirtualChassis
|
||||||
fields = [
|
fields = [
|
||||||
'id', 'url', 'display', 'name', 'domain', 'master', 'description', 'comments', 'tags', 'custom_fields',
|
'id', 'url', 'display', 'name', 'domain', 'master', 'description', 'comments', 'tags', 'custom_fields',
|
||||||
'created', 'last_updated', 'member_count',
|
'created', 'last_updated', 'member_count', 'members',
|
||||||
]
|
]
|
||||||
brief_fields = ('id', 'url', 'display', 'name', 'master', 'description', 'member_count')
|
brief_fields = ('id', 'url', 'display', 'name', 'master', 'description', 'member_count')
|
||||||
|
@ -511,7 +511,10 @@ class CableTerminationViewSet(NetBoxModelViewSet):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VirtualChassisViewSet(NetBoxModelViewSet):
|
class VirtualChassisViewSet(NetBoxModelViewSet):
|
||||||
queryset = VirtualChassis.objects.all()
|
queryset = VirtualChassis.objects.prefetch_related(
|
||||||
|
# Prefetch related object for the display of unnamed devices
|
||||||
|
'master__virtual_chassis',
|
||||||
|
)
|
||||||
serializer_class = serializers.VirtualChassisSerializer
|
serializer_class = serializers.VirtualChassisSerializer
|
||||||
filterset_class = filtersets.VirtualChassisFilterSet
|
filterset_class = filtersets.VirtualChassisFilterSet
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user