Django ORM F对象和Q对象查询

简介: F对象用于操作数据库中某一列的值,它可以在没有实际访问数据库获取数据值的情况下对字段的值进行引用使用F对象之前需要将它引入当前的环境中:


1.F对象查询


F对象用于操作数据库中某一列的值,它可以在没有实际访问数据库获取数据值的情况下对字段的值进行引用使用F对象之前需要将它引入当前的环境中:


from django.db.models import F


如果要查询up小于等于down的Comment:


comment = Comment.objects.filter(up__lte=F('down'))


要查询所有up值大于down值2倍的Comment对象,可以这样实现:


comment = Comment.objects.filter(up__gt=F('down') * 2)


使用F查询让表中的某个字段值+1:


comment = Comment.objects.get(id=1)
comment.up = F('up') + 1
comment.save()


2.Q对象查询


使用Q对象之前需要将它引入当前的环境中:


from django.db.models import Q


如果想要查询up大于60或down大于60的所有Comment对象:


comment = Comment.objects.filter(Q(up__gt=60) | Q(down__gt=60))


Q对象也可以与关键字参数组合在一起使用,但是在这种情况下,Django规定,Q对象必须放在前面:



多个Q对象可以使用“&”(与)、“|”(或)运算符组合,产生一个新的Q对象。可以使用“”(非)运算符取反,即实现NOT查询❤️

目录
相关文章
|
20天前
|
SQL Java 数据库
Django学习三:views业务层中通过models对实体对象进行的增、删、改、查操作。
这篇文章是关于如何使用Django框架的ORM系统在视图(views)层面进行数据库的增、删、改、查操作的教程。
16 0
Django学习三:views业务层中通过models对实体对象进行的增、删、改、查操作。
|
22天前
|
SQL Go 数据库
【速存】深入理解Django ORM:编写高效的数据库查询
【速存】深入理解Django ORM:编写高效的数据库查询
46 0
|
23天前
|
SQL 前端开发 Python
基于python-django的neo4j人民的名义关系图谱查询系统
基于python-django的neo4j人民的名义关系图谱查询系统
26 0
|
3月前
|
数据管理 数据挖掘 调度
Django后端架构开发:URLconf到ORM深度剖析
Django后端架构开发:URLconf到ORM深度剖析
54 1
|
3月前
|
数据库 Python
Django ORM
【8月更文挑战第23天】
41 4
|
3月前
|
API 数据库 开发者
【独家揭秘】Django ORM高手秘籍:如何玩转数据模型与数据库交互的艺术?
【8月更文挑战第31天】本文通过具体示例详细介绍了Django ORM的使用方法,包括数据模型设计与数据库操作的最佳实践。从创建应用和定义模型开始,逐步演示了查询、创建、更新和删除数据的全过程,并展示了关联查询与过滤的技巧,帮助开发者更高效地利用Django ORM构建和维护Web应用。通过这些基础概念和实践技巧,读者可以更好地掌握Django ORM,提升开发效率。
38 0
|
3月前
|
SQL Go 数据库
Django入门到放弃之ORM多表操作
Django入门到放弃之ORM多表操作
|
3月前
|
SQL 关系型数据库 MySQL
Django入门到放弃之ORM单表操作
Django入门到放弃之ORM单表操作
|
4月前
|
SQL 数据库 Python
Django框架数据库ORM查询操作(6)
【7月更文挑战第6天】```markdown Django ORM常用数据库操作:1) 查询所有数据2) 根据ID查询 3) 精确查询 4) 分页排序
61 1
|
5月前
|
存储 SQL 数据处理
Django ORM实战:模型字段与元选项配置,以及链式过滤与QF查询详解
Django ORM实战:模型字段与元选项配置,以及链式过滤与QF查询详解