comparison downloads/search_indexes.py @ 677:858ce870c854

For #47, create custom search index for models with is_public.
author Brian Neal <bgneal@gmail.com>
date Wed, 14 Aug 2013 13:56:43 -0500
parents ee87ea74d46b
children ad53d929281a
comparison
equal deleted inserted replaced
676:afb17af7948f 677:858ce870c854
1 """Haystack search index for the downloads application.""" 1 """Haystack search index for the downloads application."""
2 from haystack.indexes import * 2 from haystack.indexes import CharField, DateTimeField
3 from haystack import site 3 from haystack import site
4 from custom_search.indexes import CondQueuedSearchIndex 4 from custom_search.indexes import PublicQueuedSearchIndex
5 5
6 from downloads.models import Download 6 from downloads.models import Download
7 7
8 8
9 class DownloadIndex(CondQueuedSearchIndex): 9 class DownloadIndex(PublicQueuedSearchIndex):
10 text = CharField(document=True, use_template=True) 10 text = CharField(document=True, use_template=True)
11 author = CharField(model_attr='user') 11 author = CharField(model_attr='user')
12 pub_date = DateTimeField(model_attr='date_added') 12 pub_date = DateTimeField(model_attr='date_added')
13 13
14 def index_queryset(self): 14 def index_queryset(self):
15 return Download.public_objects.all() 15 return Download.public_objects.all()
16 16
17 def get_updated_field(self): 17 def get_updated_field(self):
18 return 'update_date' 18 return 'update_date'
19 19
20 def can_index(self, instance):
21 return instance.is_public
22
23 site.register(Download, DownloadIndex) 20 site.register(Download, DownloadIndex)