在Django的模型中F对象与Q对象比较常用的,所以单独说一下:

F对象

F对象位于django.dc.models模板下,使用的时候记得首先导入!!!

作用:F对象主要用于当模型的字段A与字段B进行比较的时候,如果A写在了等号的左边,则B 出现在等号的右边,通过F对象进行构造,用于两个列的比较。举个例子:

假设有数据模型类BookInfo,BookInfo中有属性read和commet,我们要找到阅读量(read)比评论量(commet)多的图书
BookInfo.objects.filter(read__gt=F('commit'))#返回一个集合

F对象使用在两个列之间的比较。

Q对象

Q对象位于django.dc.models模板下,使用的时候记得首先导入!!!

在实现逻辑或的操作时必须使用Q对象,话不多说直接上Demo


假设有数据模型类BookInfo,BookInfo中有属性title,我们要找主键小于6或者题目中包括1的书
BookInfo.objects.filter(Q(pk__lt=6)|Q(title__contains="1"))#返回符合条件的 ​​ ​

比较运算符:实现where 语句作为filter() exclude() get()的参数

语法:属性名称__运算符=值(是两个下滑线)

常见的运算符:

 exact 判断,大小写敏感
contains 是否包含,大小写铭感
startwith 以什么值开头,大小写敏感
endwith 以什么值结束,大小写敏感
in 是否在哎包含的范围内 如 filter(pk__in=[2,4,6,8,])
以上四个前面加上i就不区分大小写 iexact,icontains,istaerwith,iendwith

比较运算符:

gt 大于
gte 大于等于
lt 小于
lte 小于等于

Django中F对象,Q对象与运算符的更多相关文章

  1. django的F和Q对象

    F表达式和Q表达式: # 示例模型如下 class Book(models.Model): """图书模型""" name = models ...

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

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

  3. 【转】Django之Model层的F对象,Q对象以及聚合函数

    转自:https://blog.csdn.net/wsy_666/article/details/86692050 一.F对象: 作用:用于处理类属性(即model的某个列数据),类属性之间的比较.使 ...

  4. Django之F和Q查询

    一.F查询 rom django.db.models import F from app01.models import Book Book.objects.update(price=F(" ...

  5. Django之F与Q查询

    F查询 from django.db.models import F,Q # 1.查询库存数大于卖出数的书籍 res = models.Book.objects.filter(kucun__gt=F( ...

  6. django之 F与Q查询

    F与Q查询 F查询 why?

  7. Django之F、Q查询,事务,自定义char字段

    F查询 from django.db.models import F,Q # 当查询条件来自于数据库的某个字段,这个时候就必须使用F # 查询卖出数大于库存数的商品 res = models.Prod ...

  8. django【F和Q】

    一.F 案例每人增加500工资 ORM:UserInfo.objects.filter().update(salary=500) 这不行吧 SQL: update userinfo set salar ...

  9. Django中更新多个对象数据与删除对象的方法

    更新多个对象 例如说我们现在想要将Apress Publisher的名称由原来的”Apress”更改为”Apress Publishing”.若使用save()方法,如: ? 1 2 3 >&g ...

随机推荐

  1. 【NX二次开发】Block UI 反向

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  2. 「题解」黑暗塔 wizard

    本文将同步发布于: 洛谷博客: csdn: 博客园: 简书. 题目 题意简述 给定 \(y\),求 \(\varphi(x)=y\) 中 \(x\) 的个数和最大值. \(1\leq y\leq 10 ...

  3. Python进程和线程实例详解

    前言 进程是什么? 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成.我们编写的程序用来描述进程要完成哪些功能以及如何完成:数据集则是程序在执行过程中所需 ...

  4. Map类型的Json格式

    示例代码: Map<String, Object> map = new HashMap<>();// boolean 类型 map.put("boolean" ...

  5. vs2008中安装dev之后输入代码会输入代码段但是报错,可能解决方法

    vs2008工具栏DevExpress→Options 取消勾选这个

  6. vue环境搭建以及使用vue-cli创建项目

    我要跑vue项目,所以我要搞vue. 1.环境搭建 进入node官网下载对应版本的node,一步步安装即可. 安装会自动配置路径和npm包管理环境,通过node -v进行验证 2.安装vue-cli脚 ...

  7. 34、mysql数据库(介绍)

    34.1.什么是数据库: 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据库中的数据按一定的数学模型组织. 描述和存储,具有较小的冗余,较高的数据独立性和易扩 ...

  8. HDU 4438 Hunters 区域赛水题

    本文转载于 http://blog.csdn.net/major_zhang/article/details/52197538 2012天津区域赛最水之题: 题意容易读懂,然后就是分情况求出A得分的数 ...

  9. CentOS-Docker搭建Nacos-v1.3.2(单点)

    说明:从v1.3.1版本开始支持自定义mysql-8.x 通用属性配置(v1.3.2) name description option MODE cluster模式/standalone模式 clus ...

  10. Docker:docker搭建redis6.0.8集群

    下载redis镜像 #拉取镜像 docker pull redis:6.0.8 查看版本 #查看版本 docker inspect redis 生成redis.conf配置文件 #在 /home/re ...