内容目录
多对多关系,会有一张新的表进行存储,这里我们接上回,添加学生的时候,需要把学生选的课程一并添加到数据库中。
@students.post('/students')
async def add_students(student_in: StudentIn):
# 插入数据
# 方式二
student = await Student.create(name=student_in.name,pwd=student_in.pwd,student_number=student_in.student_number,classes_id=student_in.classes_id)
# 添加多对多记录
courses = await Courses.filter(id__in=student_in.courses)
print("courses", courses)
await student.courses.add(*courses)
print("student", student.courses)
return student
courses = await Courses.filter(id__in=student_in.courses)
这句就是在课程表中过滤学生选的课程idawait student.courses.add(*courses)
这句就是将学生选的课,一行一行插入到多对多关系表中
比如,我添加一个学生kuxie,除了基本信息外,他还选了id是6和7的课程(在courses表中可以查看)。
在文档中测试:
点击execute后,查看各表:
student表:
courses表:
多对多关系表:
学生和选的课程关系存储成功。