1
views.py(相關部分)草垛的SearchQuerySet(),過濾沒有做任何事情(嗖2.4.1,Django的草垛1.2.7)
srch = request.GET.get('search', "")
sqs = SearchQuerySet().filter(has_title=True)
clean_query = sqs.query.clean(srch)
results = sqs.raw_search(clean_query)
search_indexes.py
from haystack.indexes import *
from haystack import site
from myproject.myapp.models import Person
class PersonIndex(SearchIndex):
text = CharField(document=True, use_template=True)
name = CharField(model_attr='name')
has_title = BooleanField(model_attr='has_title')
site.register(Person, PersonIndex)
models.py
class Person(models.Model):
name = models.CharField(max_length=50)
has_title = models.BooleanField()
def __unicode__(self):
return u'%s' % self.name
當搜索時,我從完整模型中獲得結果,而不是隻有has_title
是True
。應用過濾器後,我也跑了python manage.py rebuild_index
。爲什麼過濾器不起作用?我使用Whoosh 2.4.1
,Django-haystack 1.2.7
和Django 1.4
。
如果有人可以只確認他們可以成功地使用SearchQuerySet().filter
與Whoosh 2.4
和Django-haystack 1.2.7
這會已經是很大的幫助。