django 如何创建表关系
原创
©著作权归作者所有:来自51CTO博客作者wx5b6d6c951e615的原创作品,请联系作者获取转载授权,否则将追究法律责任
1.分析表关系
2.创建基本表不含外键
3.根据关系,添加基表的外键
django ORM 多对多关系可以创建再任意一方模型,但是推荐建立在查询频率高的一方:
authors = models.ManyToManyField(to="Author",on_delete=models.CASCADE)
这个authors 是一个虚拟字段,ORM 会自动为你建立多对多的第三张表,
注:多对多外键字段不能修改级联关系, 默认是 on_delete=models.CASCADE,
to_field= 指定外键关联关联的字段,默认是关联到被关联表的主键
一对一和一对多关系时,注意这里1.x级联删除默认,2.x和3.x需要用户指定on_delete=
A表依赖B表, b记录删除,
on_delete=models.CASCADE a记录也会被删除
on_delete=models.DO_NOTHING a记录对应外键字段不受影响
on_delete=models.SET_DEFAULT, default=1 a记录对应外键字段变为默认值
on_delete=models.SET_NULL, null=True a记录对应外键字段变为null
注:多对多外键字段不能修改级联关系, 默认是 on_delete=models.CASCADE