【问题标题】:Object could not be found using RealtimeSignalProcessor使用 RealtimeSignalProcessor 找不到对象
【发布时间】:2017-08-25 04:48:36
【问题描述】:

我用干草堆设置了我所有的项目RealtimeSignalProcessor

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'

但是,当从数据库中删除对象时,我经常看到来自搜索的错误;

Object could not be found in database for SearchResult '<SearchResult: djangocms_text_ckeditor.text (pk=u'357')>'.

此信号处理器是否不会对索引运行删除以删除旧对象?

【问题讨论】:

  • 你好马克,你在使用aldryn-search吗?
  • @Paulo 嗨,是的,我们有一些较旧的项目有一个 aldryn-search 0.1.9 的分支来处理应用程序特定的结果和突出显示。我很确定那个版本仍然有信号处理器?

标签: django-haystack django-cms


【解决方案1】:

在您的代码中某处,插件正在通过搜索注册。 Aldryn 搜索本身在搜索中注册插件,而是注册页面翻译并从那里呈现插件并将其存储为页面翻译内容,但单独的插件永远不会被索引。

因为插件是直接注册的,实时索引会遇到很多问题,因为插件是在不同的操作下添加和删除的。

即。当您发布页面时,该页面的公共版本上的所有插件都会被删除,然后从草稿版本上的插件重新创建。

【讨论】:

    猜你喜欢
    • 2020-03-20
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 2019-04-14
    • 1970-01-01
    相关资源
    最近更新 更多