Django ORM F对象和Q对象查询
作者:世界尽头与你 发布时间:2023-10-23 15:33:04
标签:Django,F对象,Q对象查询,ORM
阅读文本前请参考此文章的数据表结构
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查询❤️
来源:https://blog.csdn.net/Gherbirthday0916/article/details/127274199
0
投稿
猜你喜欢
- 〇、前言文件上传/下载接口与普通接口类似,但是有细微的区别。如果需要发送文件到服务器,例如:上传文档、图片、视频等,就需要发送二进制数据,上
- 前言单例模式(Singleton Pattern),是一种软件设计模式,是类只能实例化一个对象,目的是便于外界的访问,节约系统资源,如果希望
- 一、读取Excel文件使用pandas的read_excel()方法,可通过文件路径直接读取。注意到,在一个excel文件中有多个sheet
- adonet基础示例分享using System;using System.Collections.Generic;using System
- Windows环境下python的安装与使用一、python如何运行程序首先说一下python解释器,它是一种让其他程序运行起来的程序。当你
- SQL(结构化查询语言)就是负责与ANSI维护的数据库交互的标准。最新的版本是SQL-99,还有一个新标准SQL-200n尚处于制定过程中。
- python字符串字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。创建字符串很简单,只
- atom(一款开源的代码编辑器)是github专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,并有很多有趣的特点:支持
- 在执行程序前,先在MySQL中创建一个数据库"pachong"。import pymysqlimport request
- 1:strip()方法去除字符串开头或者结尾的空格>>> a = " a b c ">>&
- Ctrl+N 按文件名搜索py文件ctrl+n可以搜索py文件勾选上面这个框可以搜索工程以外的文件Ctrl+shift+N 按文件名搜索所有
- 1.认证与授权1.验证:身份验证是验证个人或设备标识的过程。身份验证过程之一是登录过程。注册网站后,您的信息(ID,密码,名称,电子邮件等)
- 在此之前,我写了两篇关于ASP结合XML的贴子,分别介绍了用XML取代数据库和用XML整合数据库这两方面的技术,让数据库在某种情况下不再是我
- 因为要写个东西用到,所以百度了一下,居然有朋友乱写,而且比较多,都没有认真测试过,只对字符可以,但是对数字就不可以,而且通用性很差,需要修改
- 时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的。那么我们使用Python如何调用Linux的S
- 最近给卫生局做一个表格上传/可视化系统,算是小有成果。今天把项目中的文件拖拽上传模块分离出来,做了一个独立的小demo,并把相关代码打包上传
- 本文实例为大家分享了css+html+js实现五角星评分的具体代码,供大家参考,具体内容如下效果图:css:<style>&nb
- 简介本文主要通过探究在golang 中map的数据结构及源码实现来学习和了解map的特性,共包含map的模型探究、存取、扩容等内容。欢迎大家
- 在Linux系统下获取USB PID&VID是件十分容易的事情,只需要"lsusb"命令就可以了。不过,对于Wi
- 做渗透测试的时候,有个比较大的项目,里面有几百个网站,这样你必须首先确定哪些网站是正常,哪些网站是不正常的。所以自己就编了一个小脚本,为以后