在关系数据库中,通常不会把所有数据都放在同一张表中,不易于扩展,常见的关系映射有
1.一对一映射 一个身份证对应一个人
2.一对多映射 一个班级可以有多个学生
3.多对多映射 一个学生可以报多个课程,一个课程可以有多个学生学习
一对一
语法:OneToOneField(类名,on_delete = xxx)
class A(models.model):
.....
class B(model.model):
属性 = model.OneToOneField(A,on_delete = xxx)
例子:

一对一【插入数据】


一对一【查询数据】
正向查询:直接通过外键属性查询
#通过wife找author

反向查询:

一对多


一对多【插入数据】
先创建‘一’再创建‘多’


一对多【查询数据】
1.正向查询【通过book查询publisher】


!!!book_set (book是类名)
多对多



多对多【添加数据】


多对多【查询数据】

本文介绍了Django中如何处理关系映射,包括一对一映射、一对多映射和多对多映射的实现方式。在一对一映射中,使用OneToOneField进行定义,并通过on_delete参数处理删除操作。一对一插入和查询数据进行了演示,正向和反向查询的方式也进行了说明。对于一对多映射,强调了先创建'一'再创建'多'的顺序,以及查询时使用book_set的方式。最后,讲解了多对多映射的数据添加和查询操作。
2244

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



