Fix product type serializer

This commit is contained in:
Kuroshini 2019-10-16 14:11:07 +03:00
parent dc10203f8a
commit ca61359a81
2 changed files with 16 additions and 5 deletions

View File

@ -79,6 +79,18 @@ class WineColorDocumentSerializer(serializers.Serializer):
return get_translated_value(obj.label)
class ProductTypeDocumentSerializer(serializers.Serializer):
"""Product type ES document serializer."""
id = serializers.IntegerField()
index_name = serializers.CharField()
name_translated = serializers.SerializerMethodField()
@staticmethod
def get_name_translated(obj):
return get_translated_value(obj.name)
class ProductEstablishmentDocumentSerializer(serializers.Serializer):
"""Related to Product Establishment ES document serializer."""
@ -202,13 +214,9 @@ class ProductDocumentSerializer(DocumentSerializer):
subtypes = ProductSubtypeDocumentSerializer(many=True)
wine_region = WineRegionDocumentSerializer(allow_null=True)
wine_colors = WineColorDocumentSerializer(many=True)
product_type = serializers.SerializerMethodField()
product_type = ProductTypeDocumentSerializer(allow_null=True)
establishment_detail = ProductEstablishmentDocumentSerializer(source='establishment', allow_null=True)
@staticmethod
def get_product_type(obj):
return get_translated_value(obj.product_type.name if obj.product_type else {})
class Meta:
"""Meta class."""

View File

@ -251,6 +251,9 @@ class ProductDocumentViewSet(BaseDocumentViewSet):
'type': {
'field': 'product_type.index_name',
},
'product_type': {
'field': 'product_type.index_name',
},
'subtype': {
'field': 'subtypes.index_name',
'lookups': [