annotate gpp/downloads/search_indexes.py @ 463:452835f4429f

Fixing #225; for some reason MySQL finds the user 'John' when searching for 'John ' (note trailing space). This doesn't happen on SQLite. This causes a NoReverseMatch when searching for 'John ' in the member search. The solution is to call strip() on the form field contents in the clean_username() method of the search form.
author Brian Neal <bgneal@gmail.com>
date Sat, 09 Jul 2011 02:00:48 +0000
parents 79240675b903
children b910cc1460c8
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@392 4 from queued_search.indexes import QueuedSearchIndex
bgneal@221 5
bgneal@221 6 from downloads.models import Download
bgneal@221 7
bgneal@221 8
bgneal@392 9 class DownloadIndex(QueuedSearchIndex):
bgneal@221 10 text = CharField(document=True, use_template=True)
bgneal@221 11 author = CharField(model_attr='user')
bgneal@221 12 pub_date = DateTimeField(model_attr='date_added')
bgneal@221 13
bgneal@221 14 def get_queryset(self):
bgneal@221 15 return Download.public_objects.all()
bgneal@221 16
bgneal@277 17 def get_updated_field(self):
bgneal@277 18 return 'update_date'
bgneal@277 19
bgneal@221 20
bgneal@221 21 site.register(Download, DownloadIndex)