2

私のプロジェクトでは検索がうまく機能しています。しかし、私のモデルには、という名前のブールフィールドがありis_activeます。

is_active が True の場合にのみ検索を実行したいのですが、満足のいく応答なしでこれをテストしてきました。

私のsearch_indexes.py:

    from haystack.indexes import *
    from haystack.sites import site
    from core.models import AnuncioSolucao

    class AnuncioSolucaoIndex(RealTimeSearchIndex):
        text = CharField(document=True,use_template=True)

    site.register(AnuncioSolucao,AnuncioSolucaoIndex)

そうすれば機能しますが、is_active == False. 何かご意見は?

4

1 に答える 1

2

SearchIndex API には read_queryset というメソッドがあります。これをオーバーライドする必要がありました:

class AnuncioSolucaoIndex(RealTimeSearchIndex):
    text = CharField(document=True,use_template=True)
    def read_queryset(self):
        super(AnuncioSolucaoIndex,self).read_queryset()
        return AnuncioSolucao.objects.filter(is_active=True)
于 2013-04-09T13:58:40.237 に答える