Django Haystack переопределить index_queryset класса в подклассе

Я использую Django Haystack (с Aldryn Search) для поиска контента на сайте клиента. Однако нам нужно изменить статьи, проиндексированные с помощью плагина Aldryn NewsBlog - статьи, назначенные разделу интрасети, индексировать не следует. Поэтому я создал подкласс в своем плагине, чтобы переопределить то, что сказано в документации:

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

Однако, когда я пытаюсь перестроить индекс, он говорит:

aldryn_newsblog.models.Article имеет более одного 'SearchIndex``, обрабатывающего его. Пожалуйста, исключите либо объект aldryn_newsblog.search_indexes.ArticleIndex, либо объект search_modifier.search_indexes.BlogHelperIndex

В документации не ясно, что мне нужно написать, чтобы изменить существующий индекс из плагина NewsBlog. Я не хочу полностью исключать это, как предполагает ошибка, но подклассировать это, как сказано в документации.

Вот мой файл search_indexes.py:

from aldryn_newsblog.search_indexes import ArticleIndex


class BlogHelperIndex(ArticleIndex):

def index_queryset(self):
    # make sure only public posts are pulled
    return self.get_model().objects.exclude(app_config__app_title='DirectConnection')

1 ответ

Решение

Я дебил. Aldryn Newsblog предоставляет простой флажок в настройках разделов, чтобы включить / отключить индексирование этого раздела без необходимости изменения кода.

Другие вопросы по тегам