1

フィールドステータスが次のように定義されているモデルがあります。

class Model(models.Model):
    ...
    status = models.CharField(_('entry status'), default=ENTRY_DRAFT, max_length=2, choices=ENTRY_CHOICES)

今はシンプルなエンジンセットで干し草の山を使っています。私の検索インデックスは以下のとおりです。

class EntryIndex(SearchIndex):
    text = CharField(document=True, use_template=True)
    author = CharField(model_attr='owner')
    date_published = DateTimeField(model_attr='date_published')
    status = CharField(model_attr='status')

    def index_queryset(self):
        """Used when the entire index for model is updated."""
        return Entry.objects.all().distinct()

site.register(Entry, EntryIndex)

問題は、を使用してエントリをフィルタリングしようとすると entries.filter(status=ENTRY_DRAFT) 、フィルタリングに一致するだけでなく、すべてのオブジェクトを受け取ることです。エントリは、他の関数に渡されるSearchQuerySetです。なにが問題ですか?

4

1 に答える 1

0

この問題は、ダミーの検索エンジンを使用した場合にのみ発生しました。解決策は、検索エンジンを他のエンジンに変更することでした。

于 2011-07-18T06:49:57.357 に答える