ORM总结(单表,一对多,多对多)

2023-11-09

 

一。表记录的增删改查(单表操作)

1.添加

时间的格式必须写成YYYY-MM-DD

2.删除

filter筛选多条记录,返回的是QuerySet集合对象

3.修改

这三种都是类.objects.    

4.查询

.values是具体拿一个字段,不再拿整个对象了

 

以字典的形式返回以列表返回

 

去重:

是根据某个字段去重,整体是去不了的,因为主键是唯一的

 

 

 

模糊查询:万能的下划线

 

多表操作(一对多)

1.添加

2查询

 

通过filter values 双下划线__查询

 

多对多:两个表之间建立一个ManyToManField

 

通过对象的方式绑定关系

上面为正向查询。得到book id=3的一个书籍对象,然后在通过这个对象找到所有写id=3的书的所有作者信息。下面为反向查找,通过建立id=2的作者的对象,再通过book_set.all()找到该作者出的所有书

 

 

也可以通过万能的双下划线。查询alex出过的书籍名称及价格

 

 

添加一个添加第四本书是第二个作者,book_obj是id=4书的对象

添加多个

 

删除

 

 

 

总结:单表操作

增:create()   查:all ,filter(queryset对象集合).value(字典集合).value_list(元祖集合)

删:.delete()  改:update()

一对多操作:通过外键来操作   增:.create()   

查:all().filter()

删:delete()                      因为all ,filter(queryset对象集合),所以跨表操作时,for下可以用.而filter选择智能用__

多对多:通过MTM来操作

增:add()

删:remove()

更新:多余删掉。没有自增加

查:m.all()获取的是另一张表所有的queryset对象

 

 

拓展:a表是b表的父表。b表又是c表的父表。通过c表来查a表(跨几个表就用几个__

以上都是正向查询,下面介绍反向查询:一般不做反向查询。 一对多和多对多都可以自命名(related_name=''),不自命名的话都是小写的类名_set

第一行s就是“主表”,第二行c就是“主表”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ORM总结(单表,一对多,多对多) 的相关文章

  • Java框架--Spring(轻量级容器框架)(入门+ioc)

    目录 一 概念 海绵hong对于ioc的理解 二 spring快速入门 1 最基本的spring实例 1 1javabean类 1 2beans xml 1 3 ioc容器使用 2 spring 容器结构 机制 2 1beanDefinit
  • kmalloc使用相关

    Kmalloc内存分配和malloc相似 除非被阻塞否则他执行的速度非常快 而且不对获得空间清零 Flags参数 include
  • swin-transformer训练自己的数据集<自留>

    使用swin transformer训练自己的数据集 lt 自留 gt 前期准备 数据处理 标注数据集 一 结构目录 二 要修改的地方 三 开始训练 四 训练过程结果 前期准备 数据处理 标注数据集 LabelMe gt COCO Labe
  • 24岁,月入15000:真正优秀的人,都在做一件事

    昨天 一位经常来转载我文章的编辑朋友找我聊了会 聊完之后 很想写篇文章来谈谈我内心的感受 他告诉我 下个月就要去深圳了 那边有一家公司希望他过去 毕业两年 24岁 月收入稳定在15000 用 年轻有为 来形容他 我觉得并不为过 和他相比起来
  • 服务器系统水星无线网卡,水星设置远程服务器

    水星设置远程服务器 内容精选 换一换 本章节介绍Dubbo框架下DTM使用的demo 使得Dubbo框架下的项目可以通过TCC模式快速接入DTM 其中 Dubbo的样例代码在导入样例工程过程中准备的dtm demo的dtm dubbo项目中
  • Tomcat安装及基本使用

    1 什么是Web服务器 Web服务器是一种应用程序 软件 它封装了对HTTP协议的操作 使得开发人员无需直接操作协议 从而简化了Web开发 其主要功能是提供网上信息浏览服务 Web服务器安装在服务器端 我们可以将自己编写的Web项目部署到W
  • 概率与统计之一 标准差(standard deviation)和标准误(standard error)

    标准差和标准误差 标准差 standard deviation 和标准误差 standard error of mean 根据国际标准化组织 ISO 的定义 标准差 是方差 2的正平方根 而方差是随机变量期望的二次偏差的期望 什么是标准误差
  • 使用Scrapy爬取励志名句————祝万千学子高考顺利

    6月7日 2021年全国高考正式拉开大幕 1078万考生将赶赴考场 迎接人生路上的一次大考 在此 我将使用Scrapy爬取一些励志名句献给广大的高考考生 祝他们高考顺利 学业有成 流程分析 创建项目 创建爬虫程序 进行初始化设置 分析网页并
  • java oj 1035-1045

    1037 四则运算 Switch总是忘记break 输入一个字符 String s input next char ch s charAt 0 除数是0 用 s2 1e 10 即10的 10次方 判断 if Math abs b lt 1e
  • 激光雷达远距离灰尘扬尘烟雾粉尘检测

    最近对激光检测粉尘产生了一点兴趣 于是使用已有的雷达做了检测思路的验证 检测范围可以和雷达的扫描范围一致 约为 0 260m 验证过程使用面粉抛洒 场景如下 红色框就是粉尘的位置 俯视图如下 检测结果如下 绿色范围是检测算法自动框出来的结果
  • 升级Ubuntu18.04的linux kernel(修复小米游戏本的触摸板驱动问题)

    前言 前一段时间换电脑 置换了小米的游戏本 装了ubuntu18 04的系统 demesg发现一直报一个关于i2c接口的错误 473 518316 i2c hid i2c CUST0001 00 i2c hid get input inco
  • 小程序协议篇

    前言 采用的是uniapp的开发框架 引入了mp html的插件做富文本显示插件 操作 打开 富文本编辑 复制粘贴对应的协议文本 直接从word文档或者在线文档复制出来 要带样式的 点击F12或者右键点击检查 进入到Console下面 输入
  • python实现基数排序

    思路 先比较个位数 得到一个新的序列 再按照十位数排序 在上一个新序列的基础上又得到 一个新的序列 然后再按照百位数排序 在上一个新序列的基础上又得到一新的序列 只到排到所有数中的最高位 依次输出列表 排序结束 栗子 例 li 12 90
  • LeetCode 热题 HOT 100:二叉树专题

    LeetCode 热题 HOT 100 https leetcode cn problem list 2cktkvj 文章目录 94 二叉树的中序遍历 递归与非递归 补充 144 二叉树的前序遍历 递归与非递归 补充 145 二叉树的后序遍
  • Spring的Bean生命周期+bean注入+项目启动时正确姿势初始化数据的五种方式

    Spring的Bean生命周期 在Java中万物皆对象 既然是一个实例对象 那么就会有生命历程 被创建 gt 被使用 gt 被销毁 但是这说的太过于简洁了 以至于我们根本不能从本质上认清它具体的执行流程 生命历程 今天就来简单了解下Spri
  • 模型微调fine tune的注意事项以及技巧

    深度学习笔记 一 模型微调fine tune 熊宝宝爱学习的博客 CSDN博客
  • 【Linux】权限管理

    文章目录 1 shell命令以及运行原理 2 Linux权限的概念 3 Linux权限管理 3 1 文件访问者的分类 3 2 文件类型和访问权限 文件类型 file指令 文件权限 4 文件访问权限的设置 4 1 chmod指令 4 2 ch
  • node-red限速分流节点开发

    node red限速分流节点开发 功能简述 节点设计 界面设计 功能设计 功能实现 功能简述 此节点有一个输入 两个输出 此节点可完成信息的限速分流功能 当信息高速输入时 节点进行限速处理 例 两秒一次 到指定时间后信息由一口输出 若未到指
  • ssm整合

    4 2 准备工作 创建Maven Module 导入依赖
  • 泛型深入、自定义泛型、泛型通配符、上下限

    自定义泛型类 泛型类 package Java project 1 import java util ArrayList public class MyArrayList

随机推荐