append city or country to ProductDocumentSerialzier
This commit is contained in:
parent
d932df4392
commit
7f8f72815e
|
|
@ -33,8 +33,25 @@ class ProductDocument(Document):
|
||||||
properties={
|
properties={
|
||||||
'id': fields.IntegerField(),
|
'id': fields.IntegerField(),
|
||||||
'name': fields.KeywordField(),
|
'name': fields.KeywordField(),
|
||||||
|
'index_name': fields.KeywordField(),
|
||||||
'slug': fields.KeywordField(),
|
'slug': fields.KeywordField(),
|
||||||
# 'city' TODO: city indexing
|
'city': fields.ObjectField(
|
||||||
|
attr='address.city',
|
||||||
|
properties={
|
||||||
|
'id': fields.IntegerField(),
|
||||||
|
'name': fields.KeywordField(),
|
||||||
|
'code': fields.KeywordField(),
|
||||||
|
'country': fields.ObjectField(
|
||||||
|
properties={
|
||||||
|
'id': fields.IntegerField(),
|
||||||
|
'name': fields.ObjectField(attr='name_indexing',
|
||||||
|
properties=OBJECT_FIELD_PROPERTIES),
|
||||||
|
'code': fields.KeywordField(),
|
||||||
|
'svg_image': fields.KeywordField(attr='svg_image_indexing')
|
||||||
|
}
|
||||||
|
),
|
||||||
|
}
|
||||||
|
),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
wine_colors = fields.ObjectField(
|
wine_colors = fields.ObjectField(
|
||||||
|
|
|
||||||
|
|
@ -95,14 +95,6 @@ class ProductTypeDocumentSerializer(serializers.Serializer):
|
||||||
return get_translated_value(obj.name)
|
return get_translated_value(obj.name)
|
||||||
|
|
||||||
|
|
||||||
class ProductEstablishmentDocumentSerializer(serializers.Serializer):
|
|
||||||
"""Related to Product Establishment ES document serializer."""
|
|
||||||
|
|
||||||
id = serializers.IntegerField()
|
|
||||||
name = serializers.CharField()
|
|
||||||
slug = serializers.CharField()
|
|
||||||
|
|
||||||
|
|
||||||
class CityDocumentShortSerializer(serializers.Serializer):
|
class CityDocumentShortSerializer(serializers.Serializer):
|
||||||
"""City serializer for ES Document,"""
|
"""City serializer for ES Document,"""
|
||||||
|
|
||||||
|
|
@ -111,6 +103,33 @@ class CityDocumentShortSerializer(serializers.Serializer):
|
||||||
name = serializers.CharField()
|
name = serializers.CharField()
|
||||||
|
|
||||||
|
|
||||||
|
class CountryDocumentSerializer(serializers.Serializer):
|
||||||
|
|
||||||
|
id = serializers.IntegerField()
|
||||||
|
code = serializers.CharField(allow_null=True)
|
||||||
|
svg_image = serializers.CharField()
|
||||||
|
name_translated = serializers.SerializerMethodField()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_name_translated(obj):
|
||||||
|
return get_translated_value(obj.name)
|
||||||
|
|
||||||
|
|
||||||
|
class AnotherCityDocumentShortSerializer(CityDocumentShortSerializer):
|
||||||
|
|
||||||
|
country = CountryDocumentSerializer()
|
||||||
|
|
||||||
|
|
||||||
|
class ProductEstablishmentDocumentSerializer(serializers.Serializer):
|
||||||
|
"""Related to Product Establishment ES document serializer."""
|
||||||
|
|
||||||
|
id = serializers.IntegerField()
|
||||||
|
name = serializers.CharField()
|
||||||
|
slug = serializers.CharField()
|
||||||
|
index_name = serializers.CharField()
|
||||||
|
city = AnotherCityDocumentShortSerializer()
|
||||||
|
|
||||||
|
|
||||||
class AddressDocumentSerializer(serializers.Serializer):
|
class AddressDocumentSerializer(serializers.Serializer):
|
||||||
"""Address serializer for ES Document."""
|
"""Address serializer for ES Document."""
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -238,6 +238,10 @@ class SVGImageMixin(models.Model):
|
||||||
validators=[svg_image_validator, ],
|
validators=[svg_image_validator, ],
|
||||||
verbose_name=_('SVG image'))
|
verbose_name=_('SVG image'))
|
||||||
|
|
||||||
|
@property
|
||||||
|
def svg_image_indexing(self):
|
||||||
|
return self.svg_image.url if self.svg_image else None
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
abstract = True
|
abstract = True
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user