0
我想要計算每個使用Django ORM的學生的平均分數。 這裏是我的模型:Django - 使用多個JOIN計算平均分數
class Student(models.Model):
name = models.CharField(max_length=2000)
birth_date = models.DateField()
class Course(models.Model):
name = models.CharField(max_length=250)
units = models.IntegerField()
class StudentScore(models.Model):
student = models.ForeignKey(Student)
course = models.ForeignKey(Course)
score = models.FloatField()
爲每個學生的平均成績計算公式爲: 總和(得分* course_units)/總和(course_units)
我需要得到學生證與平均得分作爲輸出。
下面是對應的SQL查詢(假設Django應用程序的名稱是 '假'):
select ss.student_id, sum(ss.score * c.units)/sum(c.units)
from dummy_studentscore ss
join dummy_student s on s.id = ss.student_id
join dummy_course c on c.id = ss.course_id
group by ss.student_id
我怎樣才能達到同樣的使用Django ORM API?