2001dab4d645ed51d9d0956066a37d7f50957e0e
[prawokultury.git] / migdal / search_indexes.py
1 from django.conf import settings
2 import datetime
3 from haystack import indexes
4 from migdal.models import Entry
5 from migdal.helpers import add_translatable_index
6
7
8 class EntryIndex(indexes.RealTimeSearchIndex, indexes.Indexable):
9     date = indexes.DateTimeField(indexed=True, model_attr="date")
10     author = indexes.CharField(model_attr="author")
11
12     def get_model(self):
13         return Entry
14
15     def index_queryset(self):
16         """Used when the entire index for model is updated."""
17         return self.get_model().objects.all() # from example: filter(date__lte=datetime.datetime.now())
18
19
20 add_translatable_index(EntryIndex, {
21     'title': indexes.CharField(),
22     'lead': indexes.CharField(),
23     'body': indexes.CharField()
24     })
25
26
27 getattr(EntryIndex, "body_%s" % settings.LANGUAGE_CODE).document = True