Ver Fonte

fix(dcim): Mark cable_end as nullable in CabledObject Serializer

Use DRF's ChoiceField for `cable_end` to preserve the existing raw
"A"/"B" API output while documenting the allowed values and nullability
in the generated schema.

Fixes #22084
Martin Hauser há 2 semanas atrás
pai
commit
05dcf02dbe
1 ficheiros alterados com 2 adições e 1 exclusões
  1. 2 1
      netbox/dcim/api/serializers_/cables.py

+ 2 - 1
netbox/dcim/api/serializers_/cables.py

@@ -95,7 +95,8 @@ class CablePathSerializer(serializers.ModelSerializer):
 
 class CabledObjectSerializer(serializers.ModelSerializer):
     cable = CableSerializer(nested=True, read_only=True, allow_null=True)
-    cable_end = serializers.CharField(read_only=True)
+    # Use DRF's ChoiceField; NetBox's ChoiceField would return a value/label object.
+    cable_end = serializers.ChoiceField(choices=CableEndChoices, read_only=True, allow_null=True)
     link_peers_type = serializers.SerializerMethodField(read_only=True, allow_null=True)
     link_peers = serializers.SerializerMethodField(read_only=True)
     _occupied = serializers.SerializerMethodField(read_only=True)