嘿,我有一个简单的属性(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/