模型的对应关系,一对一,一对多,以及多对多的关系。
模型对应关系描述如下:
1:1 一对一 OneToOneField
1:N 一对多 ForeignKey
M:N 多对多 ManyToManyField
related_name属性
related_name='stu'
当存在这个属性时, stu_info.student和stu_info.stu只能用一个
绑定关系
通过id值进行绑定
#给id为1的学生添加拓展表中id为2的信息
stu = Student.objects.get(id=1)
#绑定关系1
stu.stu_info_id = 2
#绑定关系2
# stu.stu_info = StudentInfo.objects.get(id=2)
创建学生信息表
class StudentInfo
创建班级表
class Grade
创建课程表
class Course
创建学生表
class Student
一对一关系
stu_info = models.OneToOneField(StudentInfo)
查询
通过学生表查询信息表
Student.StudentInfo
通过信息表查询学生表
StudentInfo.Student
一对多关系
g = models.ForeignKey(Grade)
查询
通过学生表查询班级表
Student.Grade
通过班级表查询学生表
Grade.student_set
多对多关系
c = models.ManyToManyField(Course)
查询
通过学生表查询课程表
Student.Course
通过课程表查询学生表
Course.student_set
中间表加数据
Student.Course.add()
中间表删除数据
Student.Course.remove()
补充:
判断提交方式
if request.method == 'GET':
pass
if request.method == 'POST':
pass
网友评论