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

时间:2016-12-06 23:06:33

标签: python django django-models solr django-haystack

我使用Django作为我的网络应用程序的后端,django-haystack(with Solr)用于搜索&显示结果。 我使用RealTimeSignalProccessor表单django-haystack,但我有一个问题:
  - 我有Auction modelexpires-(DateTimeField)。当我显示结果时,我会像e-bay一样(例如:过期时间:1小时23分5秒)。
 问题是,在页面上显示所有拍卖,如果您想在每次访问此视图时更新Expires in参数(正如我在django-haystack文档中读到的那样),您和# 39; ll必须使用object.save()方法更新Solr索引数据库。但是,如果我每次进入所有拍卖所在的视图时都会获得30个结果,那么它很慢并且效率不高。
还有其他解决方案吗?你有什么建议?

1 个答案:

答案 0 :(得分:1)

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

通过这种方式,您可以避免在流量增加时向数据库写入更多数据,如果到期日期发生变化,如果人们在同一时间查看页面,您将不会遇到可能的竞争条件在你更新到期时间的时候。