view 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
line wrap: on
line source
"""Haystack search index for the bio application."""
from haystack.indexes import *
from haystack import site
from queued_search.indexes import QueuedSearchIndex

from bio.models import UserProfile


class UserProfileIndex(QueuedSearchIndex):
    text = CharField(document=True, use_template=True)
    author = CharField(model_attr='user')

    def get_queryset(self):
        return UserProfile.objects.filter(user__is_active=True)

    def get_updated_field(self):
        return 'update_date'


site.register(UserProfile, UserProfileIndex)