add schedule to search results
This commit is contained in:
parent
c59811e037
commit
97fc8dce15
|
|
@ -45,6 +45,19 @@ class EstablishmentDocument(Document):
|
||||||
properties=OBJECT_FIELD_PROPERTIES),
|
properties=OBJECT_FIELD_PROPERTIES),
|
||||||
},
|
},
|
||||||
multi=True)
|
multi=True)
|
||||||
|
schedule = fields.ListField(fields.ObjectField(
|
||||||
|
properties={
|
||||||
|
'id': fields.IntegerField(attr='id'),
|
||||||
|
'weekday': fields.IntegerField(attr='weekday'),
|
||||||
|
'weekday_display': fields.KeywordField(attr='weekday_display'),
|
||||||
|
'opening_at': fields.KeywordField(attr='opening_at'),
|
||||||
|
'closed_at': fields.KeywordField(attr='closed_at'),
|
||||||
|
'lunch_start': fields.KeywordField(attr='lunch_start'),
|
||||||
|
'lunch_end': fields.KeywordField(attr='lunch_end'),
|
||||||
|
'dinner_end': fields.KeywordField(attr='dinner_end'),
|
||||||
|
'dinner_start': fields.KeywordField(attr='dinner_start'),
|
||||||
|
}
|
||||||
|
))
|
||||||
address = fields.ObjectField(
|
address = fields.ObjectField(
|
||||||
properties={
|
properties={
|
||||||
'id': fields.IntegerField(),
|
'id': fields.IntegerField(),
|
||||||
|
|
@ -94,7 +107,6 @@ class EstablishmentDocument(Document):
|
||||||
'toque_number',
|
'toque_number',
|
||||||
'public_mark',
|
'public_mark',
|
||||||
'slug',
|
'slug',
|
||||||
'schedule',
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ from django_elasticsearch_dsl_drf.serializers import DocumentSerializer
|
||||||
from news.serializers import NewsTypeSerializer
|
from news.serializers import NewsTypeSerializer
|
||||||
from search_indexes.documents import EstablishmentDocument, NewsDocument
|
from search_indexes.documents import EstablishmentDocument, NewsDocument
|
||||||
from search_indexes.utils import get_translated_value
|
from search_indexes.utils import get_translated_value
|
||||||
from timetable.serialziers import ScheduleRUDSerializer
|
|
||||||
|
|
||||||
|
|
||||||
class TagsDocumentSerializer(serializers.Serializer):
|
class TagsDocumentSerializer(serializers.Serializer):
|
||||||
|
|
@ -31,6 +30,21 @@ class AddressDocumentSerializer(serializers.Serializer):
|
||||||
geo_lat = serializers.FloatField(allow_null=True, source='coordinates.lat')
|
geo_lat = serializers.FloatField(allow_null=True, source='coordinates.lat')
|
||||||
|
|
||||||
|
|
||||||
|
class ScheduleDocumentSerializer(serializers.Serializer):
|
||||||
|
"""Schedule serializer for ES Document"""
|
||||||
|
|
||||||
|
id = serializers.IntegerField()
|
||||||
|
weekday = serializers.IntegerField()
|
||||||
|
weekday_display = serializers.CharField()
|
||||||
|
opening_at = serializers.CharField()
|
||||||
|
closed_at = serializers.CharField()
|
||||||
|
lunch_start = serializers.CharField()
|
||||||
|
lunch_end = serializers.CharField()
|
||||||
|
dinner_end = serializers.CharField()
|
||||||
|
dinner_start = serializers.CharField()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class NewsDocumentSerializer(DocumentSerializer):
|
class NewsDocumentSerializer(DocumentSerializer):
|
||||||
"""News document serializer."""
|
"""News document serializer."""
|
||||||
|
|
||||||
|
|
@ -69,7 +83,7 @@ class EstablishmentDocumentSerializer(DocumentSerializer):
|
||||||
|
|
||||||
address = AddressDocumentSerializer()
|
address = AddressDocumentSerializer()
|
||||||
tags = TagsDocumentSerializer(many=True)
|
tags = TagsDocumentSerializer(many=True)
|
||||||
schedule = ScheduleRUDSerializer(many=True, allow_null=True)
|
schedule = ScheduleDocumentSerializer(many=True, allow_null=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user