Created CircuitDetailSerializer

This commit is contained in:
Jeremy Stretch 2017-01-26 15:33:41 -05:00
parent c5fba24cc5
commit 791a641eef
2 changed files with 20 additions and 4 deletions

View File

@ -42,7 +42,7 @@ class CircuitTypeNestedSerializer(CircuitTypeSerializer):
# #
# Circuits # Circuit Terminations
# #
class CircuitTerminationSerializer(serializers.ModelSerializer): class CircuitTerminationSerializer(serializers.ModelSerializer):
@ -54,19 +54,31 @@ class CircuitTerminationSerializer(serializers.ModelSerializer):
fields = ['id', 'term_side', 'site', 'interface', 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info'] fields = ['id', 'term_side', 'site', 'interface', 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info']
#
# Circuits
#
class CircuitSerializer(CustomFieldSerializer, serializers.ModelSerializer): class CircuitSerializer(CustomFieldSerializer, serializers.ModelSerializer):
provider = ProviderNestedSerializer() provider = ProviderNestedSerializer()
type = CircuitTypeNestedSerializer() type = CircuitTypeNestedSerializer()
tenant = TenantNestedSerializer() tenant = TenantNestedSerializer()
terminations = CircuitTerminationSerializer(many=True)
class Meta: class Meta:
model = Circuit model = Circuit
fields = ['id', 'cid', 'provider', 'type', 'tenant', 'install_date', 'commit_rate', 'description', 'comments', fields = ['id', 'cid', 'provider', 'type', 'tenant', 'install_date', 'commit_rate', 'description', 'comments',
'terminations', 'custom_fields'] 'custom_fields']
class CircuitNestedSerializer(CircuitSerializer): class CircuitNestedSerializer(CircuitSerializer):
class Meta(CircuitSerializer.Meta): class Meta(CircuitSerializer.Meta):
fields = ['id', 'cid'] fields = ['id', 'cid']
class CircuitDetailSerializer(CircuitSerializer):
terminations = CircuitTerminationSerializer(many=True)
class Meta(CircuitSerializer.Meta):
fields = ['id', 'cid', 'provider', 'type', 'tenant', 'install_date', 'commit_rate', 'description', 'comments',
'terminations', 'custom_fields']

View File

@ -40,5 +40,9 @@ class CircuitViewSet(CustomFieldModelViewSet):
List and retrieve circuits List and retrieve circuits
""" """
queryset = Circuit.objects.select_related('type', 'tenant', 'provider') queryset = Circuit.objects.select_related('type', 'tenant', 'provider')
serializer_class = serializers.CircuitSerializer
filter_class = CircuitFilter filter_class = CircuitFilter
def get_serializer_class(self):
if self.action == 'retrieve':
return serializers.CircuitDetailSerializer
return serializers.CircuitSerializer