mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-26 01:06:11 -06:00
fixes asn_count on asn range #13047
This commit is contained in:
parent
b13f9d27d9
commit
4076df7acb
@ -1,4 +1,5 @@
|
|||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
|
from drf_spectacular.types import OpenApiTypes
|
||||||
from drf_spectacular.utils import extend_schema_field
|
from drf_spectacular.utils import extend_schema_field
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
@ -24,7 +25,7 @@ class ASNRangeSerializer(NetBoxModelSerializer):
|
|||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:asnrange-detail')
|
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:asnrange-detail')
|
||||||
rir = NestedRIRSerializer()
|
rir = NestedRIRSerializer()
|
||||||
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
tenant = NestedTenantSerializer(required=False, allow_null=True)
|
||||||
asn_count = serializers.IntegerField(read_only=True)
|
asn_count = serializers.SerializerMethodField(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ASNRange
|
model = ASNRange
|
||||||
@ -33,6 +34,10 @@ class ASNRangeSerializer(NetBoxModelSerializer):
|
|||||||
'custom_fields', 'created', 'last_updated', 'asn_count',
|
'custom_fields', 'created', 'last_updated', 'asn_count',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@extend_schema_field(OpenApiTypes.INT)
|
||||||
|
def get_asn_count(self, obj):
|
||||||
|
return obj.get_child_asns().count()
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# ASNs
|
# ASNs
|
||||||
|
@ -21,10 +21,10 @@ class ASNRangeTable(TenancyColumnsMixin, NetBoxTable):
|
|||||||
tags = columns.TagColumn(
|
tags = columns.TagColumn(
|
||||||
url_name='ipam:asnrange_list'
|
url_name='ipam:asnrange_list'
|
||||||
)
|
)
|
||||||
asn_count = columns.LinkedCountColumn(
|
asn_count = columns.TemplateColumn(
|
||||||
viewname='ipam:asn_list',
|
orderable=False,
|
||||||
url_params={'asn_id': 'pk'},
|
verbose_name=_('ASN Count'),
|
||||||
verbose_name=_('ASN Count')
|
template_code='''{{ record.get_child_asns.count }}'''
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta(NetBoxTable.Meta):
|
class Meta(NetBoxTable.Meta):
|
||||||
|
Loading…
Reference in New Issue
Block a user