Closes #6501: Expose prefix depth and children on REST API serializer

This commit is contained in:
jeremystretch 2021-05-28 08:56:55 -04:00
parent e95a9731be
commit 75faf7d30e
3 changed files with 14 additions and 2 deletions

View File

@ -1,5 +1,14 @@
# NetBox v2.11 # NetBox v2.11
## v2.11.5 (FUTURE)
### Enhancements
* [#6087](https://github.com/netbox-community/netbox/issues/6087) - Improved prefix hierarchy rendering
* [#6501](https://github.com/netbox-community/netbox/issues/6501) - Expose prefix depth and children on REST API serializer
---
## v2.11.4 (2021-05-25) ## v2.11.4 (2021-05-25)
### Enhancements ### Enhancements

View File

@ -102,10 +102,11 @@ class NestedVLANSerializer(WritableNestedSerializer):
class NestedPrefixSerializer(WritableNestedSerializer): class NestedPrefixSerializer(WritableNestedSerializer):
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:prefix-detail') url = serializers.HyperlinkedIdentityField(view_name='ipam-api:prefix-detail')
family = serializers.IntegerField(read_only=True) family = serializers.IntegerField(read_only=True)
_depth = serializers.IntegerField(read_only=True)
class Meta: class Meta:
model = models.Prefix model = models.Prefix
fields = ['id', 'url', 'display', 'family', 'prefix'] fields = ['id', 'url', 'display', 'family', 'prefix', '_depth']
# #

View File

@ -197,12 +197,14 @@ class PrefixSerializer(PrimaryModelSerializer):
vlan = NestedVLANSerializer(required=False, allow_null=True) vlan = NestedVLANSerializer(required=False, allow_null=True)
status = ChoiceField(choices=PrefixStatusChoices, required=False) status = ChoiceField(choices=PrefixStatusChoices, required=False)
role = NestedRoleSerializer(required=False, allow_null=True) role = NestedRoleSerializer(required=False, allow_null=True)
children = serializers.IntegerField(read_only=True)
_depth = serializers.IntegerField(read_only=True)
class Meta: class Meta:
model = Prefix model = Prefix
fields = [ fields = [
'id', 'url', 'display', 'family', 'prefix', 'site', 'vrf', 'tenant', 'vlan', 'status', 'role', 'is_pool', 'id', 'url', 'display', 'family', 'prefix', 'site', 'vrf', 'tenant', 'vlan', 'status', 'role', 'is_pool',
'description', 'tags', 'custom_fields', 'created', 'last_updated', 'description', 'tags', 'custom_fields', 'created', 'last_updated', 'children', '_depth',
] ]
read_only_fields = ['family'] read_only_fields = ['family']