1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00
netbox-community-netbox/netbox/tenancy/api/serializers.py

47 lines
1.2 KiB
Python
Raw Normal View History

2017-05-24 11:33:11 -04:00
from __future__ import unicode_literals
2016-07-26 14:58:37 -04:00
from rest_framework import serializers
from extras.api.customfields import CustomFieldModelSerializer
2016-07-26 14:58:37 -04:00
from tenancy.models import Tenant, TenantGroup
from utilities.api import ValidatedModelSerializer, WritableNestedSerializer
2016-07-26 14:58:37 -04:00
#
# Tenant groups
#
class TenantGroupSerializer(ValidatedModelSerializer):
2016-07-26 14:58:37 -04:00
class Meta:
model = TenantGroup
fields = ['id', 'name', 'slug']
class NestedTenantGroupSerializer(WritableNestedSerializer):
2017-01-31 10:40:53 -05:00
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:tenantgroup-detail')
2016-07-26 14:58:37 -04:00
class Meta:
model = TenantGroup
fields = ['id', 'url', 'name', 'slug']
2016-07-26 14:58:37 -04:00
#
# Tenants
#
class TenantSerializer(CustomFieldModelSerializer):
group = NestedTenantGroupSerializer(required=False)
2016-07-26 14:58:37 -04:00
class Meta:
model = Tenant
fields = ['id', 'name', 'slug', 'group', 'description', 'comments', 'custom_fields', 'created', 'last_updated']
2016-07-26 14:58:37 -04:00
class NestedTenantSerializer(WritableNestedSerializer):
2017-01-31 10:40:53 -05:00
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:tenant-detail')
2016-07-26 14:58:37 -04:00
class Meta:
model = Tenant
fields = ['id', 'url', 'name', 'slug']