在关系数据库中,通常不会把所有数据都放在同一张表中,不易于扩展,常见的关系映射有
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是类名)
多对多
多对多【添加数据】
多对多【查询数据】