gault-millau/apps/tag/serializers.py
2019-10-15 18:25:09 +03:00

63 lines
1.4 KiB
Python

"""Tag serializers."""
from rest_framework import serializers
from tag import models
from utils.serializers import TranslatedField
class TagBaseSerializer(serializers.ModelSerializer):
"""Serializer for model Tag."""
label_translated = TranslatedField()
class Meta:
"""Meta class."""
model = models.Tag
fields = (
'id',
'label_translated',
)
class TagBackOfficeSerializer(TagBaseSerializer):
"""Serializer for Tag model for Back office users."""
class Meta(TagBaseSerializer.Meta):
"""Meta class."""
fields = TagBaseSerializer.Meta.fields + (
'label',
'category'
)
class TagCategoryBaseSerializer(serializers.ModelSerializer):
"""Serializer for model TagCategory."""
label_translated = TranslatedField()
tags = TagBaseSerializer(many=True, read_only=True)
class Meta:
"""Meta class."""
model = models.TagCategory
fields = (
'id',
'label_translated',
'tags'
)
class TagCategoryBackOfficeDetailSerializer(TagCategoryBaseSerializer):
country_translated = TranslatedField(source='country.name_translated')
class Meta(TagBaseSerializer.Meta):
"""Meta class."""
fields = TagCategoryBaseSerializer.Meta.fields + (
'news_types',
'country',
'country_translated',
)