-
mysql中的外键
-
外键是一种约束,外键不是让2张表产生关系的,是限制外键字段更新和插入数据的
-
-
django中的外键
-
老师模型类 名字 性别
-
学生模型类 姓名 分数 所属老师
-
-
外键
# 所属老师 to:关联的模型类 # on_delete:models.CASCADE :如果主表中数据删除 那么从表中数据也删除 # django中的外键字段会默认多一个_id tea = models.ForeignKey(to=Teacher,on_delete=models.CASCADE,verbose_name="所属老师id")
-
增删改查
-
增加数据
-
增加老师
模型类.objects.create(字段=值...)
t1是随便起的变量名
t1 = Teacher.objects.create(name= "曹老师",gender="女")
-
增加学生
1.Student.objects.create(name="小明",score=20,tea_id=2) # 通过外键_id的形式来添加
2.Student.objects.create(name="小明",score=20,tea=老师对象) # 直接给外键赋值一个老师对象
Student.objects.create(name="小华",score=40,tea=t1)
-
-
查询数据
-
查询老师
查询id为2的老师以及它的学生(通过老师查询学生)--(由一查多) 反向查询 特别重要
Student.objects.filter(tea_id=2)
1.先询id为2的老师并且存到变量李
t2 = Teacher.objects.get(id=2)
查询t2老师下的学生
t2.student_set.all()
-
查询学生
查询id为2的学生以及他的老师姓名---(由多查一) 正向查询
-
先将id为2的学生查询出来
s1 = Student.objects.get(id=2)
-
根据查询出来的学生信息找到对应的老师
s1.外键.查询的字段
-
-
-
删除数据
-
删除老师
-
删除id为1的老师信息
Teacher.objects.get(id=1).delete()
-
-
删除学生
-
-
表关系:一对多
于 2022-06-25 09:12:20 首次发布