Django ORM F对象和Q对象查询

 更新时间:2022年10月13日 10:50:10   作者:世界尽头与你  
Django提供了两个非常有用的工具:F对象和Q对象,方便了在一些特殊场景下的查询过程,这篇文章主要介绍了Django ORM F对象和Q对象查询,需要的朋友可以参考下

阅读文本前请参考此文章的数据表结构

Django提供了两个非常有用的工具:F对象和Q对象,方便了在一些特殊场景下的查询过程。

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查询❤️

到此这篇关于Django ORM F对象和Q对象查询的文章就介绍到这了,更多相关Django F对象和Q对象查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现检测文件MD5值的方法示例

    Python实现检测文件MD5值的方法示例

    这篇文章主要介绍了Python实现检测文件MD5值的方法,涉及Python针对大文件的读取、判断、运算、加密等相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • Python列表删除所有出现元素的两种方法

    Python列表删除所有出现元素的两种方法

    今天写代码的时候遇到一个小问题,Python中要删除列表中的所有元素,本文主要介绍了Python列表删除所有出现元素的两种方法,非常具有实用价值,需要的朋友可以参考下
    2023-06-06
  • 利用Pygame绘制圆环的示例代码

    利用Pygame绘制圆环的示例代码

    这篇文章主要介绍了利用Python中的Pygame模块绘制一个彩色的圆环,文中的示例代码讲解详细,对我们学习Pygame有一定帮助,需要的可以参考一下
    2022-01-01
  • Python3.8.2安装包及安装教程图文详解(附安装包)

    Python3.8.2安装包及安装教程图文详解(附安装包)

    这篇文章主要介绍了Python3.8.2安装包及安装教程图文详解,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • python 对dataframe下面的值进行大规模赋值方法

    python 对dataframe下面的值进行大规模赋值方法

    今天小编就为大家分享一篇python 对dataframe下面的值进行大规模赋值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python调用SQLPlus来操作和解析Oracle数据库的方法

    Python调用SQLPlus来操作和解析Oracle数据库的方法

    这篇文章主要介绍了Python调用SQLPlus来操作和解析Oracle数据库的方法,这样用SQL*Plus方式来分析Oracle中的数据就变得十分方便,需要的朋友可以参考下
    2016-04-04
  • 详解python中的 is 操作符

    详解python中的 is 操作符

    is 操作符是Python语言的一个内建的操作符。它的作用在于比较两个变量是否指向了同一个对象。下面通过本文给大家详细介绍python中的 is 操作符,需要的朋友参考下吧
    2017-12-12
  • Python中json.dumps()函数的使用解析

    Python中json.dumps()函数的使用解析

    json.dumps将一个Python数据结构转换为JSON,本文介绍了Python中json.dumps()函数的具体使用方法,以及和dump的区别,感兴趣的可以了解一下
    2021-05-05
  • Python+Empyrical实现计算风险指标

    Python+Empyrical实现计算风险指标

    Empyrical 是一个知名的金融风险指标库。它能够用于计算年平均回报、最大回撤、Alpha值等。下面就教你如何使用 Empyrical 这个风险指标计算神器
    2022-05-05
  • 关于tensorflow中tf.keras.models.Sequential()的用法

    关于tensorflow中tf.keras.models.Sequential()的用法

    这篇文章主要介绍了关于tensorflow中tf.keras.models.Sequential()的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01

最新评论