Mercurial > public > sg101
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) |