练习:假设有以下ORM模型
from django.db import models
class Student(models.Model):
"""学生表"""
name = models.CharField(max_length=100)
gender = models.SmallIntegerField()
class Meta:
db_table = 'student'
class Course(models.Model):
"""课程表"""
name = models.CharField(max_length=100)
teacher = models.ForeignKey("Teacher",on_delete=models.SET_NULL,null=True)
class Meta:
db_table = 'course'
class Score(models.Model):
"""分数表"""
student = models.ForeignKey("Student",on_delete=models.CASCADE)
course = models.ForeignKey("Course",on_delete=models.CASCADE)
number = models.FloatField()
class Meta:
db_table = 'score'
class Teacher(models.Model):
"""老师表"""
name = models.CharField(max_length=100)
class Meta:
db_table = 'teacher'
使用之前学到过的操作实现下面的查询操作:
1.查询平均成绩大于60分的同学的id和平均成绩;
students = Student.objects.annotate(avg_number=Avg('score_

本文通过一系列练习,介绍了如何使用Django ORM进行高级查询操作,包括查询平均成绩、多表关联、过滤条件、聚合函数和更新操作等。涉及到学生、老师、课程之间的数据交互,以及成绩统计和数据更新的实战应用。
最低0.47元/天 解锁文章
1445

被折叠的 条评论
为什么被折叠?



