1

部分的に次のようなモデルがあります。

class Content(models.Model):
    published = models.BooleanField(default=False)
    public = models.BooleanField(default=False)

検索インデックスは CelerySearchIndex を継承しています。

class ContentIndex(celery_haystack_indexes.CelerySearchIndex, indexes.Indexable): 

SearchIndexが呼び出されたときにContent.save()、このコンテンツのインデックスを作成したくありません。私のサイトの未公開のコンテンツは何度も改訂されると予想されるため、Solr の呼び出しが無駄になり、パフォーマンスが大幅に低下します。ただし、ドキュメントの何も機能していないようです。

私は試した:

def should_update(self, content):
    if content.published and content.public:
        return True
    return False

にも引っ掛けてみましupdate_object()た。

どちらの場合も、どちらのルーチンも呼び出されませんでした。

誰でもこれを行う方法を知っていますか??? 本当にありがとう!

4

1 に答える 1

0

documentationによると、メソッドの署名に欠けている **kwargs が should_update に渡されているようです。多分それを追加してみてください?

于 2013-01-16T14:30:19.373 に答える