Refactor elastic serializer
This commit is contained in:
parent
441c16281d
commit
2fe0ce86d3
|
|
@ -46,6 +46,7 @@ class EstablishmentDocumentSerializer(DocumentSerializer):
|
||||||
|
|
||||||
description_translated = serializers.SerializerMethodField(allow_null=True)
|
description_translated = serializers.SerializerMethodField(allow_null=True)
|
||||||
|
|
||||||
|
preview_image = serializers.URLField(source='preview_image_url')
|
||||||
class Meta:
|
class Meta:
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
|
|
||||||
|
|
@ -63,7 +64,7 @@ class EstablishmentDocumentSerializer(DocumentSerializer):
|
||||||
'collections',
|
'collections',
|
||||||
'establishment_type',
|
'establishment_type',
|
||||||
'establishment_subtypes',
|
'establishment_subtypes',
|
||||||
'preview_image_url',
|
'preview_image',
|
||||||
'slug',
|
'slug',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -73,11 +74,19 @@ class EstablishmentDocumentSerializer(DocumentSerializer):
|
||||||
|
|
||||||
def to_representation(self, instance):
|
def to_representation(self, instance):
|
||||||
ret = super().to_representation(instance)
|
ret = super().to_representation(instance)
|
||||||
|
|
||||||
dict_merge = lambda a, b: a.update(b) or a
|
dict_merge = lambda a, b: a.update(b) or a
|
||||||
ret['tags'] = map(lambda tag: dict_merge(tag, {'label_translated': get_translated_value(tag.pop('label'))}), ret['tags'])
|
|
||||||
ret['establishment_subtypes'] = map(lambda subtype: dict_merge(subtype, {'name_translated': get_translated_value(subtype.pop('name'))}), ret['establishment_subtypes'])
|
ret['tags'] = map(lambda tag: dict_merge(tag, {'label_translated': get_translated_value(tag.pop('label'))}),
|
||||||
|
ret['tags'])
|
||||||
|
ret['establishment_subtypes'] = map(
|
||||||
|
lambda subtype: dict_merge(subtype, {'name_translated': get_translated_value(subtype.pop('name'))}),
|
||||||
|
ret['establishment_subtypes'])
|
||||||
if ret.get('establishment_type'):
|
if ret.get('establishment_type'):
|
||||||
ret['establishment_type']['name_translated'] = get_translated_value(ret['establishment_type'].pop('name'))
|
ret['establishment_type']['name_translated'] = get_translated_value(ret['establishment_type'].pop('name'))
|
||||||
ret['address']['city']['country']['name_translated'] = get_translated_value(ret['address']['city']['country'].pop('name'))
|
if ret.get('address'):
|
||||||
|
ret['address']['city']['country']['name_translated'] = get_translated_value(
|
||||||
|
ret['address']['city']['country'].pop('name'))
|
||||||
|
|
||||||
|
ret['type'] = ret.pop('establishment_type')
|
||||||
|
ret['subtypes'] = ret.pop('establishment_subtypes')
|
||||||
return ret
|
return ret
|
||||||
Loading…
Reference in New Issue
Block a user