X-Git-Url: https://git.mdrn.pl/prawokultury.git/blobdiff_plain/fa8909f95f314f1bea5f52b81381304c68a75417..82c54fc0c49355b4a0ad05074caaccf0303eb965:/events/search_indexes.py diff --git a/events/search_indexes.py b/events/search_indexes.py index 1321dcd..6b30345 100644 --- a/events/search_indexes.py +++ b/events/search_indexes.py @@ -1,27 +1,26 @@ -from django.conf import settings import datetime +from django.conf import settings from haystack import indexes +from fnpdjango.utils.models.translation import add_translatable_index, localize_field from events.models import Event -from migdal.helpers import add_translatable_index -class EventIndex(indexes.RealTimeSearchIndex, indexes.Indexable): +class EventIndex(indexes.SearchIndex, indexes.Indexable): + text = indexes.CharField(null=True, + model_attr=localize_field('title', settings.LANGUAGE_CODE), + document=True) + def get_model(self): return Event - def index_queryset(self): - """Used when the entire index for model is updated.""" - return self.get_model().objects.all() - add_translatable_index(EventIndex, { -# Haystack needs a main field to be the same across all indexes -# so we treat title of the event as this main content, named 'body' - 'body': indexes.CharField(model_attr='title'), - 'organizer': indexes.CharField(), - 'place': indexes.CharField() - }) - - -getattr(EventIndex, "body_%s" % settings.LANGUAGE_CODE).document = True + 'organizer': indexes.CharField(null=True), + 'place': indexes.CharField(null=True) + }) +add_translatable_index(EventIndex, { + 'title': indexes.CharField(null=True), + }, + (lang for lang in settings.LANGUAGES if lang[0] != settings.LANGUAGE_CODE) +)