annotate gpp/downloads/search_indexes.py @ 388:c3231af55778

For #191; r410 is wrong: it is returning the wrong posts. Rework. MySQL is not using an index on our query, and it is taking 10+ seconds. Replace this slow query with a loop that loops over the public forums, then sorts and returns the posts.
author Brian Neal <bgneal@gmail.com>
date Sat, 19 Mar 2011 05:03:51 +0000
parents d424b8bae71d
children 79240675b903
rev   line source
bgneal@221 1 """Haystack search index for the downloads application."""
bgneal@221 2 from haystack.indexes import *
bgneal@221 3 from haystack import site
bgneal@221 4
bgneal@221 5 from downloads.models import Download
bgneal@221 6
bgneal@221 7
bgneal@221 8 class DownloadIndex(SearchIndex):
bgneal@221 9 text = CharField(document=True, use_template=True)
bgneal@221 10 author = CharField(model_attr='user')
bgneal@221 11 pub_date = DateTimeField(model_attr='date_added')
bgneal@221 12
bgneal@221 13 def get_queryset(self):
bgneal@221 14 return Download.public_objects.all()
bgneal@221 15
bgneal@277 16 def get_updated_field(self):
bgneal@277 17 return 'update_date'
bgneal@277 18
bgneal@221 19
bgneal@221 20 site.register(Download, DownloadIndex)