| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from rest_framework import serializers
- from taggit_serializer.serializers import TaggitSerializer, TagListSerializerField
- from extras.api.customfields import CustomFieldModelSerializer
- from tenancy.models import Tenant, TenantGroup
- from utilities.api import ValidatedModelSerializer
- from .nested_serializers import *
- #
- # Tenants
- #
- class TenantGroupSerializer(ValidatedModelSerializer):
- tenant_count = serializers.IntegerField(read_only=True)
- class Meta:
- model = TenantGroup
- fields = ['id', 'name', 'slug', 'tenant_count']
- class TenantSerializer(TaggitSerializer, CustomFieldModelSerializer):
- group = NestedTenantGroupSerializer(required=False)
- tags = TagListSerializerField(required=False)
- circuit_count = serializers.IntegerField(read_only=True)
- device_count = serializers.IntegerField(read_only=True)
- ipaddress_count = serializers.IntegerField(read_only=True)
- prefix_count = serializers.IntegerField(read_only=True)
- rack_count = serializers.IntegerField(read_only=True)
- site_count = serializers.IntegerField(read_only=True)
- virtualmachine_count = serializers.IntegerField(read_only=True)
- vlan_count = serializers.IntegerField(read_only=True)
- vrf_count = serializers.IntegerField(read_only=True)
- class Meta:
- model = Tenant
- fields = [
- 'id', 'name', 'slug', 'group', 'description', 'comments', 'tags', 'custom_fields', 'created',
- 'last_updated', 'circuit_count', 'device_count', 'ipaddress_count', 'prefix_count', 'rack_count',
- 'site_count', 'virtualmachine_count', 'vlan_count', 'vrf_count',
- ]
|