fixes asn_count on asn range #13047

This commit is contained in:
Abhimanyu Saharan 2023-06-29 20:13:39 +05:30
parent b13f9d27d9
commit 4076df7acb
2 changed files with 10 additions and 5 deletions

View File

@ -1,4 +1,5 @@
from django.contrib.contenttypes.models import ContentType
from drf_spectacular.types import OpenApiTypes
from drf_spectacular.utils import extend_schema_field
from rest_framework import serializers
@ -24,7 +25,7 @@ class ASNRangeSerializer(NetBoxModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:asnrange-detail')
rir = NestedRIRSerializer()
tenant = NestedTenantSerializer(required=False, allow_null=True)
asn_count = serializers.IntegerField(read_only=True)
asn_count = serializers.SerializerMethodField(read_only=True)
class Meta:
model = ASNRange
@ -33,6 +34,10 @@ class ASNRangeSerializer(NetBoxModelSerializer):
'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

View File

@ -21,10 +21,10 @@ class ASNRangeTable(TenancyColumnsMixin, NetBoxTable):
tags = columns.TagColumn(
url_name='ipam:asnrange_list'
)
asn_count = columns.LinkedCountColumn(
viewname='ipam:asn_list',
url_params={'asn_id': 'pk'},
verbose_name=_('ASN Count')
asn_count = columns.TemplateColumn(
orderable=False,
verbose_name=_('ASN Count'),
template_code='''{{ record.get_child_asns.count }}'''
)
class Meta(NetBoxTable.Meta):