【问题标题】:Django multi-criteria weighted ratingDjango 多标准加权评分
【发布时间】:2012-08-12 09:32:13
【问题描述】:

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

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

非常感谢!

PS:我没有在这个帖子里放太多信息,因为这个问题已经在另一个主题here中描述了。这完全一样。

【问题讨论】:

    标签: django criteria rating weighted


    【解决方案1】:

    加权评分最简单的解决方案是添加一个附加字段并自动将其填充到评分对象的custom save method 中。

    就获得总体平均评分而言,您可以使用Django's aggregation queries 在每次需要时动态计算(最简单/最准确的方法),或者您可以尝试保持每次更新的平均评分字段添加/删除/更新评级(如果您正在运行读取繁重的服务,则性能更高的方法)。请参阅my answer here,了解有关实施这些的更多详细信息(使用总和而不是平均值)以及有关权衡的更多详细信息。

    【讨论】:

    • 非常感谢您的回答。这就是我在 PHP 中实现它的方式,定期运行一个 cron 任务并计算加权分数。在我的情况下,移动中的计算似乎不切实际,因为我预计有数千种可能的组合。所以我会检查这个聚合的东西,但我可能会选择另一种方法。我只是想知道是否有某种 Django 插件或类似的东西可以帮助我。谢谢!
    【解决方案2】:

    如果您不想通过覆盖保存方法来创建需要维护的单独字段,则需要遵循这种稍微复杂的方法:Using .aggregate() on a value introduced using .extra(select={...}) in a Django Query?

    【讨论】:

    • 谢谢 :) 我不认为添加字段是一个真正的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2021-10-01
    • 1970-01-01
    • 2011-01-25
    • 2013-05-21
    • 2012-04-29
    相关资源
    最近更新 更多