我有一个模型,它有一个布尔字段,用来说明模型对象是否处于活动状态。我基本上希望Haystack忽略任何带有active=False的对象。对于使用以下方法进行完整的重新索引,此方法效果良好:
def index_queryset(self, using=None):
return ExampleModel.objects.filter(active=True)
但是,当对象更新且索引实时更新且未完全重新编制索引时(例如,将对象更改为非活动对象时),以下操作将不起作用,而且似乎没有调用:
^{pr2}$当对象被标记为不活动时,我希望将其从索引中删除,但是在将对象更新为不活动时,它仍保留在索引中影响方面计数等。我使用管理.py更新索引而should\u更新代码似乎没有运行?在
我正在使用haystack dev和elasticsearch的最新稳定。在
有什么想法吗?在
编辑信号.py公司名称:
编辑设置.py公司名称:
查看源代码,^{} 默认返回True,这意味着重新编制索引。另外,^{} 被附加到类的post delete钩子上,这可能就是为什么没有调用它,因为您没有删除记录。在
您应该能够通过如下方式稍微修改代码来触发索引删除:
或者反过来:
^{pr2}$另一个选择是创建一个CRON脚本,它可以:
这也可以由Django中的^{} 信号使用。在
细节:我已经没有测试过这段代码的任何。它是基于问题中提供的信息进行的。在
相关问题 更多 >
编程相关推荐