from rest_framework import serializers from tagulous.serializers.json import Serializer from products.models import Product from utils.tag_serializers import TagListSerializerField, TaggitSerializer, SingleTagSerializerField, SingleTag, TagList class ProductSerializer(TaggitSerializer, serializers.ModelSerializer): tags = TagListSerializerField(required=False) category = SingleTagSerializerField(required=False) # main tag category attributes = TagListSerializerField(required=False) # image = serializers.SerializerMethodField() class Meta: model = Product exclude = ['created', 'updated', 'creator'] class SearchResultSerializer(TaggitSerializer, serializers.ModelSerializer): tags = TagListSerializerField(required=False) category = SingleTagSerializerField(required=False) # main tag category attributes = TagListSerializerField(required=False) rank = serializers.FloatField() class Meta: model = Product exclude = ['created', 'updated', 'creator'] class TagFilterSerializer(TaggitSerializer, serializers.ModelSerializer): tags = TagListSerializerField(required=False) class Meta: model = TagList fields = '__all__'