F对象与Q对象也是ORM中的内容

目录

1  F对象

1.1  操作列值

1.2  并发计数

1.3  比较列值

2  Q对象

2.1  逻辑或 |

2.2  逻辑非 ~

2.3  逻辑与 &


1  F对象

F对象是 指定范围内 一个字段(列)的全部内容对象,语法是这样的

1.1  操作列值

上面我们没有指定范围,下面我们指定一个范围,比如说我们现在要选表中的所有retail_price并让其都加10元

我们发现每一行都加了10元

如果不使用F对象,那么就应该这样写

1.2  并发计数

如果不使用F对象,那么就应该这样写

使用更新的方法不如使用F对象,如果在实际工作中(并发计数),一定要使用F对象

场景: 例如1000个人同时点赞某个评论,第一种方式造成的最终结果可能只加了1,因为他们的初始环境是一样的,最后产生的数据是一样的。 使用F,相当于操作表,会有表锁,1000个人点赞,会避免脏数据,会+1000,相当于有事务控制。引用文章 10. django模型层,ORM操作详解,查询操作,更新操作,删除,F对象,Q对象,聚合查询,原生数据库操作_数哥的博客-CSDN博客

1.3  比较列值

我们现在想查询retail_price大于price的书

那么我们就可以这样写

发现一共有四本retail_price大于price的书

2  Q对象

Q对象使用 django.db.models import Q 进行导入,Q()括号中加的是查询条件,用于 逻辑与 ,逻辑或 和 逻辑非 的时候

2.1  逻辑或 |

我们现在想查询 price>=90 或 清华大学出版社的书

发现一共有四本书

2.2  逻辑非 ~

我们现在想查询不是 清华大学出版社 的书

2.3  逻辑与 &

我们现在想查询 不是清华大学出版社的书 且(逻辑与) price<90 的书

17.F对象与Q对象相关推荐

  1. Django(22)-ORM中F对象和Q对象

    Django(1)-简介 Django(2)-创建项目及默认项目目录结构介绍 Django(3)-配置文件详解 Django(4)-URL和视图 Django(5)-路由配置实例 Django(6)- ...

  2. Django学习笔记(3):使用模型类进行查询(查询函数、F对象、Q对象、聚合函数、查询集、模型类关系、关联查询、自关联、管理器)

    文章目录 1.查询函数 2.F对象 3.Q对象 4.聚合函数 5.Count函数 6.查询集 查询集的特性 对查询集进行切片 判断一个查询集中是否有数据 7.模型类之间的关系 一对多关系 多对多关系 ...

  3. Django中F对象,Q对象与运算符

    在Django的模型中F对象与Q对象比较常用的,所以单独说一下: F对象 F对象位于django.dc.models模板下,使用的时候记得首先导入!!! 作用:F对象主要用于当模型的字段A与字段B进行 ...

  4. Django中的F对象和Q对象

    F对象 可以获取到自己的属性值 实现自己的属性自己的属性关联的复杂条件 支持运算 Q对象 Q对象实际上是对条件的一个封装 封装后支持逻辑运算 与或非 & | ~ 支持嵌套 例子 from dj ...

  5. 【django】 F 和 Q 对象

    一. F对象 之前的查询都是对象的属性与常量值⽐较,两个属性怎么⽐较呢? 答:使⽤F对象,被定义在django.db.models中. 语法如下: F(属性名) 1.例:查询播放量⼤于等于评论量的影⽚ ...

  6. Django运算表达式与Q对象/F对象

    Django运算表达式与Q对象/F对象 1 模型查询 概述: 1 查询集:表示从数据库中获取的对象的集合 2 查询集可以有多个过滤器,通过 逻辑运算符连接 3 过滤器就是一个函数,基于所给的参数限制查 ...

  7. 004--Django(定义模型类、数据的增删改查、F和Q对象)

    1.创建数据库 mysql -uroot -pmysqlcreate database django_demo charset=utf8; 2.配置mysql数据库 在settings.py 中配置数 ...

  8. Django中数据对象的增删改查常用方法,自定义管理器类,过滤器及F和Q对象等知识点总结

    Django对象的增删改查 我们为了对django对象的增删改查进行总结,先在model.py文件中创建类便于举例 定义学生: class Students(models.Model):sname=m ...

  9. Django Q对象

    使用Q 对象进行复杂的查询¶ filter() 等方法中的关键字参数查询都是一起进行"AND" 的. 如果你需要执行更复杂的查询(例如OR 语句),你可以使用Q 对象. Q 对象 ...

最新文章

  1. 差分 c语言,c语言 bmp位图差分
  2. 不藏私分享五個線上自學平台
  3. linux 内核编译错误 .size expression for copy_user_generic_c does not evaluate to a constant
  4. python【力扣LeetCode算法题库】面试题57 - II-和为s的连续正数序列(滑动窗口)
  5. 利用返回引用来操作结构体
  6. ABAP学习-第二章[HELLO WORLD]
  7. 一秒点击屏幕次数测试_安卓App性能专项测试流畅度深度解析
  8. junit 经典示例_JUnit4参数化和理论示例
  9. 分布式块存储系统Ursa的设计与实现
  10. Python中的正则表达式找到所有符合要求的字符串
  11. 【ACL2021】主会571篇长文分类最全汇总
  12. 微信朋友圈千亿访问量背后的技术挑战和实践总结
  13. Vue 电商管理系统
  14. swift 与objective-c区别
  15. Css中路径data:image/png;base64的用法详解与操作
  16. 【无标题】RC抽取工艺文件(三)Layer map错误
  17. 【概率论与数理统计】1.5 独立性
  18. 2015校园O2O商业模式解析——从物流切入
  19. ajax提交,form表单提交,onsubmit=return checksubmit()提交验证
  20. Fiddler教程系列—介绍【必看】

热门文章

  1. 星淘惠:欧洲人民的“休假文化”造就应季热门单品
  2. Data_Warehouse(DW 数仓(一))
  3. 亚瑟·阿伦的“36问”
  4. 数据结构算法_深度优先算法例题(带简易流程图)
  5. 互联网创业最需要什么?
  6. 想知道好用的录音机软件有哪些?给你推荐这些录声音的软件
  7. 智能对话中的意图识别和槽位填充联合模型
  8. 多个JDK下TOMCAT运行设置
  9. 联想LECOO电脑显示器闪屏解决办法
  10. 简单使用HTML集成OnlyOffice