diff --git a/netbox/circuits/api/nested_serializers.py b/netbox/circuits/api/nested_serializers.py index 8fc1bfaf7..5f919b247 100644 --- a/netbox/circuits/api/nested_serializers.py +++ b/netbox/circuits/api/nested_serializers.py @@ -1,3 +1,5 @@ +from drf_spectacular.utils import extend_schema_field, extend_schema_serializer +from drf_spectacular.types import OpenApiTypes from rest_framework import serializers from circuits.models import * @@ -28,6 +30,9 @@ class NestedProviderNetworkSerializer(WritableNestedSerializer): # Providers # +@extend_schema_serializer( + exclude_fields=('circuit_count',), +) class NestedProviderSerializer(WritableNestedSerializer): url = serializers.HyperlinkedIdentityField(view_name='circuits-api:provider-detail') circuit_count = serializers.IntegerField(read_only=True) @@ -41,6 +46,9 @@ class NestedProviderSerializer(WritableNestedSerializer): # Circuits # +@extend_schema_serializer( + exclude_fields=('circuit_count',), +) class NestedCircuitTypeSerializer(WritableNestedSerializer): url = serializers.HyperlinkedIdentityField(view_name='circuits-api:circuittype-detail') circuit_count = serializers.IntegerField(read_only=True) diff --git a/netbox/circuits/api/serializers.py b/netbox/circuits/api/serializers.py index 816c696d2..d48d79efb 100644 --- a/netbox/circuits/api/serializers.py +++ b/netbox/circuits/api/serializers.py @@ -70,8 +70,8 @@ class CircuitTypeSerializer(NetBoxModelSerializer): class CircuitCircuitTerminationSerializer(WritableNestedSerializer): url = serializers.HyperlinkedIdentityField(view_name='circuits-api:circuittermination-detail') - site = NestedSiteSerializer() - provider_network = NestedProviderNetworkSerializer() + site = NestedSiteSerializer(allow_null=True) + provider_network = NestedProviderNetworkSerializer(allow_null=True) class Meta: model = CircuitTermination @@ -87,8 +87,8 @@ class CircuitSerializer(NetBoxModelSerializer): status = ChoiceField(choices=CircuitStatusChoices, required=False) type = NestedCircuitTypeSerializer() tenant = NestedTenantSerializer(required=False, allow_null=True) - termination_a = CircuitCircuitTerminationSerializer(read_only=True) - termination_z = CircuitCircuitTerminationSerializer(read_only=True) + termination_a = CircuitCircuitTerminationSerializer(read_only=True, allow_null=True) + termination_z = CircuitCircuitTerminationSerializer(read_only=True, allow_null=True) class Meta: model = Circuit