Skip to content

Commit

Permalink
Closes #14454: Include member devices for virtual chassis in REST API
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremystretch committed Mar 13, 2024
1 parent 2d4295e commit eefa249
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
3 changes: 2 additions & 1 deletion netbox/dcim/api/serializers_/virtualchassis.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
class VirtualChassisSerializer(NetBoxModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:virtualchassis-detail')
master = NestedDeviceSerializer(required=False, allow_null=True, default=None)
members = NestedDeviceSerializer(many=True, read_only=True)

# Counter fields
member_count = serializers.IntegerField(read_only=True)
Expand All @@ -20,6 +21,6 @@ class Meta:
model = VirtualChassis
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')
5 changes: 4 additions & 1 deletion netbox/dcim/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,10 @@ class CableTerminationViewSet(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
filterset_class = filtersets.VirtualChassisFilterSet

Expand Down

0 comments on commit eefa249

Please sign in to comment.