当前位置: 首页 > news >正文

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

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

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

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

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

应用场景:

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

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

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

2. 举例详解

转载于:https://www.cnblogs.com/cjj-zyj/p/10360905.html

相关文章:

  • [转]ASP.NET Core: Static Files cache control using HTTP Headers
  • VMware HA实战攻略之五VMwareHA测试验收
  • Java的Cloneable接口还有深浅复制
  • WSUS系列之第三版部署
  • 一篇你看了就懂的DNS详解
  • 使用TripleDES算法加密/解密
  • Sql Server函数全解(二)数学函数
  • IT维护部门的绩效考核怎么做?
  • cs20_8-1
  • 恢复Linux系统里被删除的 Ext3文件
  • Python基础之函数
  • Picturing virtual functions
  • C# 预处理指令
  • 安装Asp.net 2.0服务器出现Server Application Unavailabl --zt
  • 解决FirewallD is not running问题
  • 分享一款快速APP功能测试工具
  • $translatePartialLoader加载失败及解决方式
  • 4. 路由到控制器 - Laravel从零开始教程
  • 4个实用的微服务测试策略
  • Angularjs之国际化
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • MaxCompute访问TableStore(OTS) 数据
  • Redis的resp协议
  • 彻底搞懂浏览器Event-loop
  • 从伪并行的 Python 多线程说起
  • 浏览器缓存机制分析
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 模型微调
  • 深入浏览器事件循环的本质
  • 听说你叫Java(二)–Servlet请求
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • !$boo在php中什么意思,php前戏
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (02)vite环境变量配置
  • (11)MATLAB PCA+SVM 人脸识别
  • (12)Linux 常见的三种进程状态
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (四)汇编语言——简单程序
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ..回顾17,展望18
  • .net CHARTING图表控件下载地址
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .net访问oracle数据库性能问题
  • .net与java建立WebService再互相调用
  • //解决validator验证插件多个name相同只验证第一的问题
  • ::什么意思
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • []使用 Tortoise SVN 创建 Externals 外部引用目录
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [Android Pro] AndroidX重构和映射
  • [Go WebSocket] 多房间的聊天室(三)自动清理无人房间