我有2个模型Car
和Rating
。人们评价汽车(duhh)。我写了一个简单的get_average_score()
方法得到Car
的平均得分,下面是我的模型。
class Car(models.Model):
def get_average_score(self):
return self.rating_set.aggregate(Avg('score'))
class Rating(models.Model):
car = models.ForeignKey(Car)
score = models.IntegerField(blank=False, null=False)
基本上我想要的是“顶级汽车”,我在这里订购get_average_score()
desc。
我该怎么做?
答案 0 :(得分:1)
不,但您可以使用注释来执行此操作,例如
Car.objects.annotate(score=Avg('rating__score').order_by('-score')