44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
from rest_framework import serializers
|
|
|
|
from authentication.serializers import OwnerSerializer
|
|
from hostadmin.models import Domain
|
|
from toolshed.models import Category, Property, Tag
|
|
|
|
|
|
class DomainSerializer(serializers.ModelSerializer):
|
|
owner = OwnerSerializer(read_only=True)
|
|
|
|
class Meta:
|
|
model = Domain
|
|
fields = ['name', 'owner', 'open_registration']
|
|
|
|
def create(self, validated_data):
|
|
return super().create(validated_data)
|
|
|
|
|
|
class CategorySerializer(serializers.ModelSerializer):
|
|
parent = serializers.SlugRelatedField(slug_field='name', queryset=Category.objects.all(), required=False)
|
|
|
|
class Meta:
|
|
model = Category
|
|
fields = ['name', 'description', 'parent', 'origin']
|
|
read_only_fields = ['origin']
|
|
|
|
|
|
class PropertySerializer(serializers.ModelSerializer):
|
|
category = serializers.SlugRelatedField(slug_field='name', queryset=Category.objects.all(), required=False)
|
|
|
|
class Meta:
|
|
model = Property
|
|
fields = ['name', 'description', 'category', 'unit_symbol', 'unit_name', 'unit_name_plural', 'base2_prefix',
|
|
'dimensions', 'origin']
|
|
read_only_fields = ['origin']
|
|
|
|
|
|
class TagSerializer(serializers.ModelSerializer):
|
|
category = serializers.SlugRelatedField(slug_field='name', queryset=Category.objects.all(), required=False)
|
|
|
|
class Meta:
|
|
model = Tag
|
|
fields = ['name', 'description', 'category', 'origin']
|
|
read_only_fields = ['origin']
|