0

我已经开始在 Django 中构建一个需要多标准加权评级的应用程序。我的问题与几年前的问题完全相同,不幸的是没有任何答案。

如果有人可以给我一些关于如何在 Django 中进行多标准加权评级的提示,我很想听听!我对整个 Django/Python 世界很陌生,并且来自 PHP 背景。

非常感谢!

PS:我没有在这个线程中提供太多信息,因为问题已经在此处的其他主题中进行了描述。这完全一样。

4

2 回答 2

1

加权评级最简单的解决方案是添加一个额外的字段,并在评级对象的自定义save方法中自动填充它。

就获得总体平均评分而言,您可以使用Django 的聚合查询在每次需要时动态计算(最简单/最准确的方法) ,或者您可以尝试维护每次评分时更新的平均评分字段添加/删除/更新(如果您正在运行读取繁重的服务,则性能更高的方法)。有关实施这些(使用总和而不是平均值)的更多详细信息以及有关权衡的更多详细信息,请参见我的答案。

于 2012-08-16T04:37:49.003 回答
0

如果您不想通过覆盖 save 方法来创建需要维护的单独字段,则需要遵循这个稍微复杂一点的方法:使用 .aggregate() 对使用 .extra(select={... }) 在 Django 查询中?

于 2012-08-16T08:53:15.393 回答