Django поиск сена Поиск возвращаемых предметов, которые исключены - PullRequest
2 голосов
/ 11 мая 2011

У меня были некоторые проблемы с django-haystack, и мне нужна помощь.

Я управляю сайтом, который индексирует проекты, и некоторые проекты находятся в состоянии, в котором они не должны быть видны, т.е. status='DE', status='PR'

мои текущие настройки:

from haystack.indexes import *
from haystack import site
from models import Project

class ProjectIndex(RealTimeSearchIndex):
    project_name = CharField(document=True, use_template=True)
    description = CharField(use_template=True, model_attr='description')
    location = CharField(use_template=True, model_attr='location')
    owner = CharField(model_attr='owner')

    def search(self):
        return Project.objects.filter(status='AP').exclude(status='PR').exclude(status='DE')

    def index_queryset(self):
        """Used when the entire index for model is updated."""
        return Project.objects.filter(status='AP').exclude(status='PR').exclude(status='DE')

    def get_queryset(self):
        """Used when the entire index for model is updated."""
        return Project.objects.filter(status='AP').exclude(status='PR').exclude(status='DE')

    def read_queryset(self):
        """Used when the entire index for model is updated."""
        return Project.objects.filter(status='AP').exclude(status='PR').exclude(status='DE')

site.register(Project, ProjectIndex)

1 Ответ

5 голосов
/ 13 мая 2011

Мне удалось решить эту проблему путем обновления с 1.1 до 1.2

, а затем внезапно я начал получать эти Caught VariableDoesNotExist while rendering: Failed lookup for key [object] in u'None'

Погуглил и обнаружил, что некоторые предметы могли исчезнутьвне системы, и для этого есть удобная команда.

теперь у меня есть cronjob, который выполняет следующие действия: /usr/bin/python2.6 /www/mysite/manage.py update_index --remove каждые несколько часов

...