django - Django Haystack 在子类中覆盖类的 index_queryset
问题描述
我正在使用 Django Haystack(使用 Aldryn Search)来搜索客户端站点上的内容。但是,我们需要修改从 Aldryn NewsBlog 插件索引的文章 - 分配给 Intranet 部分的文章不应被索引。所以我在我的插件中创建了一个子类来覆盖它,就像文档说的那样:
子类可以重写此方法以避免索引某些对象。
但是,当我尝试重建索引时,它说:
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')
解决方案
我是个白痴。Aldryn 新闻博客在部分设置中提供了一个简单的复选框,以启用/禁用该部分的索引,而无需更改代码。
推荐阅读
- django - django-bootstrap4 我的表单总是有 is-valid 标签,如何阻止这个?
- directx - 如何将 RTV 输出复制到立方体贴图的一侧?
- admob - 如何将我的奖励视频广告点显示给 mainactivity
- android - 运行颤振 hello_world 应用程序时出错
- python - 如何将用户名与此排行榜代码配对?
- android - 如何检测通话记录删除
- python - 拿一个操纵杆或任何更改/更新变量并绑定/移动一个 kivy 滑块?
- javascript - 已解决:JSON 输入意外结束 -> MySQL DB 中的字符
- javascript - memb.guild.roles.find 不是函数
- javascript - 指的是一个值,但在这里被用作一个类型