django表与表之间的关系
- 一对多:models.ForeignKey(其他表)
- 多对多:models.ManyToManyField(其他表)
- 一对一:models.OneToOneField(其他表)
- 一对多:当一张表中创建一行数据时,有一个单选的下拉框(可以被重复选择)
一个学院信息表有多个学生的信息表
再比如文章和作者之间的关系。一个文章只能由一个作者编写,但是一个作者可以写多篇文章。文章和作者之间的关系就是典型的多对一的关系。作者和文章的关系就是一对多。
- 多对多:在某表中创建一行数据是,有一个可以多选的下拉框
不同的学生有不同课程表
再比如文章和标签的关系。一篇文章可以有多个标签,一个标签可以被多个文章所引用。因此标签和文章的关系是典型的多对多的关系。
- 一对一:在某表中创建一行数据时,有一个单选的下拉框(下拉框中的内容被用过一次就消失了)
一个学生信息表就只用一个对应的详细信息表
再比如一个用户表和一个用户信息表。在实际网站中,可能需要保存用户的许多信息,但是有些信息是不经常用的。如果把所有信息都存放到一张表中可能会影响查询效率,因此可以把用户的一些不常用的信息存放到另外一张表中我们叫做UserExtension。但是用户表User和用户信息表UserExtension就是典型的一对一了。
、
through=‘Enroll’ 就是有Enroll表才能有课程表,想下没有学生报名还上什么课
外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错!
一般使用CASCADE 表示级联删除
也就是有一个数据其中一个表删了,管聊的表就会上,想下如果有个学生不读了,删掉了student中的数据,那是不是也要删除在学院的报名表
django表与表之间的关系相关推荐
- 老周谈低代码开发平台、工作流引擎、与表单引擎之间的关系
低代码开发是最近几年比较火的一个概念,而工作流引擎,表单引擎是好多年以前的产物了.今天我们就聊聊三者之间的关系. 我是开源驰骋BPM公司的老周,是bpm系统的爱好者.研发者.探索者. 对上述三个模块问 ...
- Django ORM – 多表实例:Django模型Model的定义+模型间关系
Django 对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle. Django 为这些数据库提供了统一的调用API. 我们可以根据自己业务需求选择不同的 ...
- mysql表和表的关系_mysql表与表之间建关系
2.浪费硬盘空间 3.扩展性极差 上述的弊端产生原因类似于把代码全部写在一个py文件中,应该怎么做? >> 解耦合! 将上述两张表拆成员工的部门两张表 分析表数据之间的关系:多个员工对应 ...
- oracle 关系 表 视图_oracle动态视图v$,v_$,gv$,gv_$与x$之间的关系
前言:在oracle运维的过程中,经常会使用到一些以V$开头的动态视图,比如V$session, 有一次偶然看到有人用V_$session, 初以为别人写错了,没想到desc v_$session以后 ...
- MySQL如何找到表与表之间的关系?
如何找到两张表之间的关系? 先站在左表的角度上去找,如果可以找到左表的多个字段可以对应右表的一个字段,那么左表的一个字段foregin key右表的一个字段.一般情况下为id... 2.如果右表的多个 ...
- mysql表一对多关系,mysql表与表之间的关系(多对多,一对多)
#创建数据库 CREATE DATABASE day15; #使用 USE day15; #创建表 CREATE TABLE test1( id INT PRIMARY KEY AUTO_INCREM ...
- hibernate_day03_MySQL数据库-表与表之间的多对多关系-实例
hibernate_day03_MySQL数据库-表与表之间的多对多关系-实例 : 操作环境 :Windows 10 教育版.eclipse.MySQL数据库.SQLyog数据库管理工具 MySQL ...
- Firewalld,iptables概述(netfilter和Firewalld,iptables三者之间的关系,四表五链,Firewalld防火墙的配置方发,SNAT,DNAT了解)
文章目录 Firewalld,iptables概述 Firewalld了解 iptables了解 Firewalld和iptables的关系 netfilter Firewalld.iptables ...
- 第一阶段:前端开发_Mysql——表与表之间的关系
2018-06-26 表与表之间的关系 一.一对多关系: 常见实例:分类和商品,部门和员工 一对多建表原则:在从表(多方)创建一个字段,字段作为外键指向主表(一方)的一方 二.多对多关系 常见实例:学 ...
最新文章
- 今天下午2:00,RT-Thread与智能车竞赛概况
- 【Flutter】Icons 组件 ( FlutterIcon 下载图标 | 自定义 svg 图标生成 ttf 字体文件 | 使用下载的 ttf 图标文件 )
- Linux awk命令使用方法
- 5G远程驾驶亮相进博会 网友:以后考个远程驾照?
- 选择自己用的到的文件编译一个CEGUISample(一)
- Mongodb学习总结(2)——MongoDB与MySQL区别及其使用场景对比
- 架构师速成6.4-开发框架
- Java代码TkMyBatis通用Mapper中新增数据时同时获取自增主键ID,与适用uuid 做主键时获取 id
- 封装好的C++ md5类
- Linux下查看和停止所有java进程
- 用户、组和权限命令练习
- 通信原理教程chapter1
- 按键精灵执行cmd命令_如何用cmd运行按键精灵脚本
- mui 框架跨域_MUI框架运用中遇见问题总结
- 8255A红绿灯c语言程序,微机原理十字路口红绿灯闪烁实验
- 编译原理:LL(1)语法分析器的实现(内含代码详细注释)
- 汇编指令学习(CMP,TEST)
- vivado设计之解读复杂性报告(Complexity Characteristics)
- Java反射机制的学习(转)
- 对象存储服务MinIO
热门文章
- r 语言 ggplot上添加平均值_R语言自定义两种统计量度:平均值和中位数,何时去使用?
- ESD二极管,替代国际品牌型号汇总
- linux 占用内存 脚本,linux内存测试(占用)脚本
- annotation java log_使用java注释来注入logger依赖关系
- BT[2]-BLE初体验:心率计
- Windows 8的无线设置后,竟不能直接更改,目前知道可以通过命令行解决
- libnet TCP示例
- css background-image 高度自适应_每天一个CSS小技巧 - 内容元素的自适应
- python read函数_Python read()函数:读入指定长度的文本
- 云服务器怎么选系统,云服务器怎么选择操作系统