Exemplo n.º 1
0
class SiteSerializer(TaggitSerializer, CustomFieldModelSerializer):
    status = ChoiceField(choices=SITE_STATUS_CHOICES, required=False)
    region = NestedRegionSerializer(required=False, allow_null=True)
    tenant = NestedTenantSerializer(required=False, allow_null=True)
    time_zone = TimeZoneField(required=False)
    tags = TagListSerializerField(required=False)
    count_prefixes = serializers.IntegerField(read_only=True)
    count_vlans = serializers.IntegerField(read_only=True)
    count_racks = serializers.IntegerField(read_only=True)
    count_devices = serializers.IntegerField(read_only=True)
    count_circuits = serializers.IntegerField(read_only=True)

    class Meta:
        model = Site
        fields = [
            'id',
            'name',
            'slug',
            'status',
            'region',
            'tenant',
            'facility',
            'asn',
            'time_zone',
            'description',
            'physical_address',
            'shipping_address',
            'latitude',
            'longitude',
            'contact_name',
            'contact_phone',
            'contact_email',
            'comments',
            'tags',
            'custom_fields',
            'created',
            'last_updated',
            'count_prefixes',
            'count_vlans',
            'count_racks',
            'count_devices',
            'count_circuits',
        ]
Exemplo n.º 2
0
class WritableSiteSerializer(CustomFieldModelSerializer):
    time_zone = TimeZoneField(required=False)

    class Meta:
        model = Site
        fields = [
            'id',
            'name',
            'slug',
            'region',
            'tenant',
            'facility',
            'asn',
            'time_zone',
            'physical_address',
            'shipping_address',
            'contact_name',
            'contact_phone',
            'contact_email',
            'comments',
            'custom_fields',
            'created',
            'last_updated',
        ]