Django Haystack переопределяет index_queryset класса в подклассе - PullRequest
0 голосов
/ 24 октября 2018

Я использую 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 Ответ

0 голосов
/ 30 октября 2018

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

...