ORM作业参考答案:
-
查询平均成绩大于60分的同学的id和平均成绩;
rows = Student.objects.annotate(avg=Avg("score__number")).filter(avg__gte=60).values("id","avg") for row in rows: print(row)
-
查询所有同学的id、姓名、选课的数、总成绩;
rows = Student.objects.annotate(course_nums=Count("score__course"),total_score=Sum("score__number")) .values("id","name","course_nums","total_score") for row in rows: print(row)
-
查询姓“李”的老师的个数;
teacher_nums = Teacher.objects.filter(name__startswith="李").count() print(teacher_nums)
-
查询没学过“黄老师”课的同学的id、姓名;
rows = Student.