• 一对多:models.ForeignKey(其他表)
  • 多对多:models.ManyToManyField(其他表)
  • 一对一:models.OneToOneField(其他表)


  • 一对多:当一张表中创建一行数据时,有一个单选的下拉框(可以被重复选择)

一个学院信息表有多个学生的信息表

再比如文章和作者之间的关系。一个文章只能由一个作者编写,但是一个作者可以写多篇文章。文章和作者之间的关系就是典型的多对一的关系。作者和文章的关系就是一对多。

  • 多对多:在某表中创建一行数据是,有一个可以多选的下拉框

不同的学生有不同课程表

再比如文章和标签的关系。一篇文章可以有多个标签,一个标签可以被多个文章所引用。因此标签和文章的关系是典型的多对多的关系。

  • 一对一:在某表中创建一行数据时,有一个单选的下拉框(下拉框中的内容被用过一次就消失了)

一个学生信息表就只用一个对应的详细信息表

再比如一个用户表和一个用户信息表。在实际网站中,可能需要保存用户的许多信息,但是有些信息是不经常用的。如果把所有信息都存放到一张表中可能会影响查询效率,因此可以把用户的一些不常用的信息存放到另外一张表中我们叫做UserExtension。但是用户表User和用户信息表UserExtension就是典型的一对一了。


through=‘Enroll’ 就是有Enroll表才能有课程表,想下没有学生报名还上什么课

外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错!

一般使用CASCADE 表示级联删除

也就是有一个数据其中一个表删了,管聊的表就会上,想下如果有个学生不读了,删掉了student中的数据,那是不是也要删除在学院的报名表

django表与表之间的关系相关推荐

  1. 老周谈低代码开发平台、工作流引擎、与表单引擎之间的关系

    低代码开发是最近几年比较火的一个概念,而工作流引擎,表单引擎是好多年以前的产物了.今天我们就聊聊三者之间的关系. 我是开源驰骋BPM公司的老周,是bpm系统的爱好者.研发者.探索者. 对上述三个模块问 ...

  2. Django ORM – 多表实例:Django模型Model的定义+模型间关系

    Django 对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle. Django 为这些数据库提供了统一的调用API. 我们可以根据自己业务需求选择不同的 ...

  3. mysql表和表的关系_mysql表与表之间建关系

    2.浪费硬盘空间 3.扩展性极差 上述的弊端产生原因类似于把代码全部写在一个py文件中,应该怎么做?  >> 解耦合! 将上述两张表拆成员工的部门两张表 分析表数据之间的关系:多个员工对应 ...

  4. oracle 关系 表 视图_oracle动态视图v$,v_$,gv$,gv_$与x$之间的关系

    前言:在oracle运维的过程中,经常会使用到一些以V$开头的动态视图,比如V$session, 有一次偶然看到有人用V_$session, 初以为别人写错了,没想到desc v_$session以后 ...

  5. MySQL如何找到表与表之间的关系?

    如何找到两张表之间的关系? 先站在左表的角度上去找,如果可以找到左表的多个字段可以对应右表的一个字段,那么左表的一个字段foregin key右表的一个字段.一般情况下为id... 2.如果右表的多个 ...

  6. mysql表一对多关系,mysql表与表之间的关系(多对多,一对多)

    #创建数据库 CREATE DATABASE day15; #使用 USE day15; #创建表 CREATE TABLE test1( id INT PRIMARY KEY AUTO_INCREM ...

  7. hibernate_day03_MySQL数据库-表与表之间的多对多关系-实例

    hibernate_day03_MySQL数据库-表与表之间的多对多关系-实例 : 操作环境 :Windows 10 教育版.eclipse.MySQL数据库.SQLyog数据库管理工具 MySQL ...

  8. Firewalld,iptables概述(netfilter和Firewalld,iptables三者之间的关系,四表五链,Firewalld防火墙的配置方发,SNAT,DNAT了解)

    文章目录 Firewalld,iptables概述 Firewalld了解 iptables了解 Firewalld和iptables的关系 netfilter Firewalld.iptables ...

  9. 第一阶段:前端开发_Mysql——表与表之间的关系

    2018-06-26 表与表之间的关系 一.一对多关系: 常见实例:分类和商品,部门和员工 一对多建表原则:在从表(多方)创建一个字段,字段作为外键指向主表(一方)的一方 二.多对多关系 常见实例:学 ...

最新文章

  1. 今天下午2:00,RT-Thread与智能车竞赛概况
  2. 【Flutter】Icons 组件 ( FlutterIcon 下载图标 | 自定义 svg 图标生成 ttf 字体文件 | 使用下载的 ttf 图标文件 )
  3. Linux awk命令使用方法
  4. 5G远程驾驶亮相进博会 网友:以后考个远程驾照?
  5. 选择自己用的到的文件编译一个CEGUISample(一)
  6. Mongodb学习总结(2)——MongoDB与MySQL区别及其使用场景对比
  7. 架构师速成6.4-开发框架
  8. Java代码TkMyBatis通用Mapper中新增数据时同时获取自增主键ID,与适用uuid 做主键时获取 id
  9. 封装好的C++ md5类
  10. Linux下查看和停止所有java进程
  11. 用户、组和权限命令练习
  12. 通信原理教程chapter1
  13. 按键精灵执行cmd命令_如何用cmd运行按键精灵脚本
  14. mui 框架跨域_MUI框架运用中遇见问题总结
  15. 8255A红绿灯c语言程序,微机原理十字路口红绿灯闪烁实验
  16. 编译原理:LL(1)语法分析器的实现(内含代码详细注释)
  17. 汇编指令学习(CMP,TEST)
  18. vivado设计之解读复杂性报告(Complexity Characteristics)
  19. Java反射机制的学习(转)
  20. 对象存储服务MinIO

热门文章

  1. r 语言 ggplot上添加平均值_R语言自定义两种统计量度:平均值和中位数,何时去使用?
  2. ESD二极管,替代国际品牌型号汇总
  3. linux 占用内存 脚本,linux内存测试(占用)脚本
  4. annotation java log_使用java注释来注入logger依赖关系
  5. BT[2]-BLE初体验:心率计
  6. Windows 8的无线设置后,竟不能直接更改,目前知道可以通过命令行解决
  7. libnet TCP示例
  8. css background-image 高度自适应_每天一个CSS小技巧 - 内容元素的自适应
  9. python read函数_Python read()函数:读入指定长度的文本
  10. 云服务器怎么选系统,云服务器怎么选择操作系统