我正在尝试为视频库的功能模拟一个“现在热门的东西”(即与时间相关的最常见 - 聚类视图(及时)将导致更高的评级),但我不能非常了解如何在Django中正确使用它而不会导致大量的数据库查询。我意识到这没有一个正确的答案,但我完全失去了。该列表将根据类别而有所不同,但会在网站的所有视图中显示,因此我不能只是破解一个解决方案 - 它需要相当优化。
我对Django很新,所以如果有任何技巧我可以用来减少这个问题,我很想知道。
我应该指出,我可以随意为模型添加字段,因为我们仍在制定网站规范。
答案 0 :(得分:1)
您可以将表(模型)用于群集,例如一天,一周一周,一个月等,并在那里存储viewcount而不是视频模型本身,然后您只需参考它。像:
Months.objects().filter(month=this_month).order_by(viewcount)[0].video