django 一对一, 一对多,多对多的领悟

猪年上班的第一天,各位大佬们新年快乐!

一早来温故了一些过去的知识点,感觉还是django表关系之间还是略带生疏,然后自己参悟了一波

django的表关系常见的无非是一对一,一对多,多对多

    • 一对多,models.ForeignKey(ColorDic)
    • 一对一,models.OneToOneField(OneModel)
    • 多对多,authors = models.ManyToManyField(Author)

应用场景:

    • 一对一:在某表中创建一行数据时,有一个单选的下拉框(下拉框中的内容被用过一次就消失了)。
      例如:与同事合作开发过程中两人都用到一某个表,这个表原有含10列数据,经过一段时间之后,发现10列无法满足自己的需求,需要为原来的表再添加5列数据,但是为了不影响同事的使用,可以使用一对一关系设计表,新的表中只需要包含要新加的这5列数据即可。

    • 一对多:当一张表中创建一行数据时,有一个单选的下拉框(可以被重复选择)。
      例如:创建用户信息时候,用户信息中包含用户类型(普通用户、管理员、超级管理员),用户与用户类型就属于一对多关系。一个用户对应一种用户类型,但一种用户类型可以包含多个用户。

    • 多对多:在某表中创建一行数据时,有一个可以多选的下拉框。
      例如:创建用户信息,需要用户选择爱好,一个用户可以有多个爱好,一种爱好可以被多个用户选择。

2. 举例详解
posted @ 2019-02-11 09:40  Corey0606  阅读(482)  评论(0编辑  收藏  举报