美文网首页
Django-数据库操作之F和Q对象

Django-数据库操作之F和Q对象

作者: 测试探索 | 来源:发表于2022-09-03 16:34 被阅读0次

一、F对象

之前的查询都是对象的属性与常量值比较,两个属性要如何比较呢?可以使用F对象,被定义在django.db.models中。
在子应用book/views.py文件中
查询阅读量大于等于评论量的图书

from django.db.models import F
# 使用:2个属性的比较
# 语法形式:以filter  为例 模型类名.objects.filter(属性名__运算符 = F("第二个属性"))

# 查询阅读量大于等于评论量的图书
BookInfo.objects.filter(readcount__gte = F('commentcount'))
image.png

二、Q对象

多个过滤器逐个调用表示逻辑与关系,同sql语句中where部分的and/or关键字

# 并且查询
# 查询阅读量大于20,并且编号小于3的图书
# 第一种表达方式
BookInfo.objects.filter(readcount__gt = 20).filter(id__lt = 3)
# 第二种表达方式
BookInfo.objects.filter(readcount__gt = 20,id__lt = 3)

# 或者查询
from django.db.models import Q

# 或者语法:模型类名.objects.filter(Q(属性名__运算符 = 值)|Q(属性名__运算符 = 值))
# 并且语法:模型类名.objects.filter(Q(属性名__运算符 = 值)& Q(属性名__运算符 = 值))

# 查询阅读量大于20或者id小于3的数据
BookInfo.objects.filter(Q(readcount__gt = 20) | Q(id__lt = 3))

# Q对象前可以使用~操作符,表示非not
# 查询编号不等于3的图书
BookInfo.objects.filter(~Q(id = 3))
image.png

相关文章

  • Django-数据库操作之F和Q对象

    一、F对象 之前的查询都是对象的属性与常量值比较,两个属性要如何比较呢?可以使用F对象,被定义在django.db...

  • 数据库基本操作Q和F

    Q和F F使用查询条件的值,专门取对象中某列值的操作 Q 构建搜索条件 通常,Q()对象使得定义查询条件然后重用成...

  • django查询之Q对象

    Q()对象和F()对象类似,把一个sql表达式封装在对象中,这个对象可以用于数据库相关的操作注意这里提醒一下,如果...

  • Django中mysql简单查询——二

    F和Q对象 F对象 上次的只能是python属性对应的数据库的字段与一个固定值的比较,即使是date这种复杂类型,...

  • model之F/Q操作

    F操作,使用查询条件的值 打个比方吧,有一张表,保存着公司员工的工资,公司普涨工资,如何在model中操作,这就用...

  • 八 Django数据库基本查询操作

    数据库基本操作(查询) 一、查询对象 从数据库里检索对象,可以通过模型的Manage来建立QuerySet,一个Q...

  • [PPJ_17] RESTful接口测试脚本备份

    接前文:[1] Django-数据库配置、数据序列化、视图创建、URL路由配置、API编辑操作[2] Django...

  • Django-17 F对象和Q对象

    F对象 一个F对象代表数据库中某条记录的字段的信息 作用解决资源竞争问题通常是对数据库中的字段值在不获取的情况下进...

  • Android数据存储之SQLite

    操作数据库的核心类 SQLiteDatabase 管理和操作数据库获取数据库对象的方法:/*** name ...

  • Django-分页

    Django-分页 1.创建对象 Paginator 对象的 page()方法返回 Page 对象,不需要手动构造...

网友评论

      本文标题:Django-数据库操作之F和Q对象

      本文链接:https://www.haomeiwen.com/subject/cwvunrtx.html