annotate gpp/bio/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@223 1 """Haystack search index for the bio application."""
bgneal@223 2 from haystack.indexes import *
bgneal@223 3 from haystack import site
bgneal@392 4 from queued_search.indexes import QueuedSearchIndex
bgneal@223 5
bgneal@223 6 from bio.models import UserProfile
bgneal@223 7
bgneal@223 8
bgneal@392 9 class UserProfileIndex(QueuedSearchIndex):
bgneal@223 10 text = CharField(document=True, use_template=True)
bgneal@223 11 author = CharField(model_attr='user')
bgneal@223 12
bgneal@223 13 def get_queryset(self):
bgneal@223 14 return UserProfile.objects.filter(user__is_active=True)
bgneal@223 15
bgneal@277 16 def get_updated_field(self):
bgneal@277 17 return 'update_date'
bgneal@277 18
bgneal@223 19
bgneal@223 20 site.register(UserProfile, UserProfileIndex)