63 lines
1.4 KiB
Python
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',
|
|
)
|