mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Implemented static writable ModelSerializers for all models
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from extras.api.serializers import CustomFieldSerializer
|
||||
from extras.api.serializers import CustomFieldValueSerializer
|
||||
from tenancy.models import Tenant, TenantGroup
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ class TenantGroupSerializer(serializers.ModelSerializer):
|
||||
fields = ['id', 'name', 'slug']
|
||||
|
||||
|
||||
class NestedTenantGroupSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class NestedTenantGroupSerializer(serializers.ModelSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:tenantgroup-detail')
|
||||
|
||||
class Meta:
|
||||
@@ -27,17 +27,25 @@ class NestedTenantGroupSerializer(serializers.HyperlinkedModelSerializer):
|
||||
# Tenants
|
||||
#
|
||||
|
||||
class TenantSerializer(CustomFieldSerializer, serializers.ModelSerializer):
|
||||
class TenantSerializer(serializers.ModelSerializer):
|
||||
group = NestedTenantGroupSerializer()
|
||||
custom_field_values = CustomFieldValueSerializer(many=True)
|
||||
|
||||
class Meta:
|
||||
model = Tenant
|
||||
fields = ['id', 'name', 'slug', 'group', 'description', 'comments', 'custom_fields']
|
||||
fields = ['id', 'name', 'slug', 'group', 'description', 'comments', 'custom_field_values']
|
||||
|
||||
|
||||
class NestedTenantSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class NestedTenantSerializer(serializers.ModelSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:tenant-detail')
|
||||
|
||||
class Meta:
|
||||
model = Tenant
|
||||
fields = ['id', 'url', 'name', 'slug']
|
||||
|
||||
|
||||
class WritableTenantSerializer(serializers.ModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = Tenant
|
||||
fields = ['id', 'name', 'slug', 'group', 'description', 'comments']
|
||||
|
@@ -24,4 +24,5 @@ class TenantGroupViewSet(ModelViewSet):
|
||||
class TenantViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
|
||||
queryset = Tenant.objects.select_related('group')
|
||||
serializer_class = serializers.TenantSerializer
|
||||
write_serializer_class = serializers.WritableTenantSerializer
|
||||
filter_class = TenantFilter
|
||||
|
Reference in New Issue
Block a user