使用 django-haystack RealTimeSignalProcessor 优化显示结果

Optimize displaying results with django-haystack RealTimeSignalProcessor

我使用 Django 作为我的网络应用程序的后端,并使用 django-haystack(with Solr) 来搜索和显示结果。 我使用 RealTimeSignalProccessor 形式 django-haystack ,但我有一个问题:
- 我有一个 Auction modelexpires-(DateTimeField)。当我显示结果时,我正在做类似 e-bay 的事情(例如,过期时间:1h 23m 5s)。
问题是在显示所有拍卖的页面上,如果您想在每次访问此视图时更新 Expires in 参数(正如我在 django-haystack 文档中读到的那样),您将拥有使用 object.save() 方法更新 Solr 索引数据库。但是,如果我每次转到列出所有拍卖的那个视图时都这样做以获得 30 个结果,那么它会非常慢并且效率不高。
还有其他解决方案吗?你有什么建议?

无需不断更新数据库中的 expires_in 字段 - 在广告过期时保留 expires_at 字段,并计算模型中检索方法的剩余时间或者在你看来。

这样您就可以避免在流量增加时向数据库写入更多数据,并且如果到期日期发生变化,您也不会 运行 进入可能的竞争条件,如果人们正在查看页面在更新到期时间的同时。