python - 从 Django 中的一组对象中获取平均值

标签 python django average

嘿,我有一个简单的属性(property)评级系统。您给它打分(满分 5 分)。模型是这样定义的

def Property(models.Model)
    # stuff here

def Rating(models.Model)
    property = models.ForeignKey(Property)
    stars = models.IntegerField()

我想要做的是获得一个属性,找到所有评级对象,收集它们,然后从中获得平均“星级”。

有什么办法吗?

最佳答案

你应该使用 Aggregation(doc) :

from django.db.models import Avg

p = Property.objects.get(...)
stars_average = p.rating_set.aggregate(Avg('stars')).values()[0]

虽然我对我的例子有点不确定。

关于python - 从 Django 中的一组对象中获取平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2689664/

相关文章:

python - python easy install 的问题

python - 在django中计算附近的gps坐标

python - 如何在 django 表单的查询集上使用切片?

用子集平均值替换向量值的子集

csv - 如何从 JMeter 生成的 csv 文件计算平均响应时间?

python - Google Cloud PubSub 在 Python 中未正确调用

python - 在 Emacs 中更改 python 函数参数格式

javascript - 如何将 application/x-mpegURL 放入 videojs 的源中

python - 如何将带有斜杠的字符串从 View 传递到模板?

colors - 如何将两个 32 位颜色平均打包成一个整数?