dot*_*tty 13 python django average
干草,我有一个简单的财产评级系统.你给它一个标记5(星).模型定义如下
def Property(models.Model)
# stuff here
def Rating(models.Model)
property = models.ForeignKey(Property)
stars = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
我想要做的是获得一个属性,找到所有评级对象,收集它们,然后从它们获得平均'星'.
任何想法如何做到这一点?
小智 31
您应该使用聚合(doc):
from django.db.models import Avg
p = Property.objects.get(...)
stars_average = p.rating_set.aggregate(Avg('stars')).values()[0]
Run Code Online (Sandbox Code Playgroud)
虽然对我的例子有点不确定.