当前位置: 首页 > news >正文

Django 常见的操作符

在filter() 方法,exclude() 方法中使用大于,小于,模糊匹配等操作符。

常见的操作符如下:

操作符含义示例
=等于Book.objects.filter(price=10)
!= 或 __ne不等于用于查找字段不等于特定值的记录。但更常用exclude()方法。
__gt大于用于查找字段大于特定值的记录Book.objects.filter(price__gt=10)
__gte大于等于Book.objects.filter(price__gte=10)
__lt小于

用于查找字段小于特定值的记录。

Book.objects.filter(price__lt=10)

__lte小于等于

用于查找字段小于等于特定值的记录。

Book.objects.filter(price__lte=10)

__in在某个列表内

你想要获取所有作者在列表中的书籍,你可以使用__in这将返回一个QuerySet,其中包含了所有作者为 '小强' 或 '小龙' 的书籍。

authors = ['小强', '小龙']
books = Book.objects.filter(author__in=authors)

__contains包含

用于查找字段包含特定子字符串的记录。

Book.objects.filter(title__contains="Python")

__icontains不包含

用于查找字段不包含特定子字符串的记录。注意,
__icontains是不区分大小写的。

Book.objects.exclude(title__icontains="Python")

__startswith以...开始

用于查找字段以特定字符串开始的记录。

Book.objects.filter(title__startswith="Python")

__endswith以...结束

用于查找字段以特定字符串结束的记录。

Book.objects.filter(title__endswith="Book")

__exact精确匹配

用于查找字段等于特定值的记录。这与直接使用
=是等价的。

Book.objects.filter(title__exact="Python Cookbook")

__regex

__iregex
模糊匹配

用于使用正则表达式匹配字段的记录。
__regex
区分大小写,
__iregex
不区分大小写。

Book.objects.filter(title__iregex=r"Python.*")

__year日期字段的年份

假设你有一个Post模型,其中包含一个created_at字段,类型为DateTimeField。如果你想获取所有在2023年创建的帖子,你可以使用__year这将返回一个QuerySet。

posts=Post.objects.filter(created_at__year=2023)

__month日期字段的月份假设你有一个Sales模型,其中包含一个sale_date字段,类型为DateTimeField或DateField
。如果你想获取所有在6月份的销售记录,你可以使用__month操作符如下:这将返回一个QuerySet,其中包含了所有在6月份的销售记录。
from myapp.models import Sales
sales_in_june = Sales.objects.filter(sale_date__month=6)
__day日期字段的天数

假设你有一个Event模型,其中包含一个event_date字段,类型为DateTimeField或DateField。如果你想获取所有在15号发生的事件,你可以使用__day
操作符如下:这将返回一个QuerySet,其中包含了所有在每个月的15号发生的事件。

from myapp.models import Event
events_on_15th = Event.objects.filter(event_date__day=15)

__week_day获取指定周日之前的数据假设你有一个LogEntry模型,其中包含一个timestamp字段,类型为DateTimeField。如果你想获取所有在星期五发生的日志条目,你可以使用__week_day操作符如下:这将返回一个QuerySet,其中包含了所有在星期五发生的日志条目。请注意,Django中的星期几是以1开始的,即1表示星期一,7表示星期日。
from myapp.models import LogEntry
entries_on_friday = LogEntry.objects.filter(timestamp__week_day=5)
__hour获取指定区间小时的数据

假设你有一个ActivityLog模型,其中包含一个timestamp字段,类型为DateTimeField
。如果你想获取所有在上午10点到11点之间发生的活动记录,你可以使用__hour操作符如下:这将返回一个QuerySet,其中包含了所有在上午10点到11点之间发生的活动记录。

from myapp.models import ActivityLog
activities_in_morning = ActivityLog.objects.filter(timestamp__hour__gte=10, timestamp__hour__lt=11)

__minute获取指定区间分的数据

假设你有一个SystemLog模型,其中包含一个timestamp字段,类型为DateTimeField
。如果你想获取所有在下午2点30分到2点35分之间发生的系统日志记录,你可以使用
__minute操作符如下:这将返回一个QuerySet,其中包含了所有在下午2点30分到2点35分之间发生的系统日志记录。

from myapp.models import SystemLog
logs_in_time_window = SystemLog.objects.filter(timestamp__hour=14, timestamp__minute__gte=30, timestamp__minute__lt=35)

__second获取指定秒的数据

假设你有一个Trade模型,其中包含一个timestamp字段,类型为DateTimeField。如果你想获取所有在某个特定秒数内发生的交易记录,你可以使用__second操作符如下:这将返回一个QuerySet,其中包含了所有在10点30分15秒发生的交易记录。

from myapp.models import Trade
trades_in_second = Trade.objects.filter(timestamp__hour=10, timestamp__minute=30, timestamp__second=15)

&   ,   |
 
查询多个条件

使用Q对象,可以使用逻辑“与”(&)和“或”(|)操作符来组合多个查询条件

from django.db.models import Q
Book.objects.filter(Q(price__gt=10) & Q(title__icontains="Python"))
这些操作符可以组合使用,以创建非常复杂和精确的查询。

相关文章:

Django 常见的操作符

在filter() 方法,exclude() 方法中使用大于,小于,模糊匹配等操作符。 常见的操作符如下: 操作符含义示例等于Book.objects.filter(price10)! 或 __ne不等于用于查找字段不等于特定值的记录。但更常用exclude()方法。__gt大于用于…...

AJAX是什么?原生语法格式?jQuery提供分装好的AJAX有什么区别?

ajax 的全称 Asynchronous JavaScript and XML (异步 JavaScript 和 XML)。 AJAX是一种创建交互式网页应用的网页开发技术。其中最核心的依赖是浏览器提供的 XMLHttpRequest 对象,是这个对象使得浏览器可以发出 HTTP 请求与接收 HTTP 响应。实现了在页 面不刷新的…...

docker基础知识以及windows上的docker desktop 安装

记录以供备忘 基础概念: 什么是docker 将程序和环境一起打包,以在不同操作系统上运行的工具软件 什么是基础镜像 选一个基础操作系统和语言后,将对应的文件系统、依赖库、配置等打包为一个类似压缩包的文件,就是基础镜像 什么是…...

【深度学习基础】环境搭建 linux系统下安装pytorch

目录 一、anaconda 安装二、创建pytorch1. 创建pytorch环境:2. 激活环境3. 下载安装pytorch包4. 检查是否安装成功 一、anaconda 安装 具体的安装说明可以参考我的另外一篇文章【环境搭建】Linux报错bash: conda: command not found… 二、创建pytorch 1. 创建py…...

【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则

大家好,我是全栈小5,欢迎来到《小5讲堂》。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 前言1、无法链接…...

idea启动vue项目一直卡死在51%,问题分析及其如何解决

如果你的项目也一直卡在百分之几十&#xff0c;你可以参考下面的方法&#xff0c;试一试能否解决 问题描述&#xff1a; 通过在idea终端中输入命令 npm run serve 启动vue项目&#xff0c;启动进程一直卡在51% 如何解决&#xff1a; 检查 < template > 标签中的html内容…...

基于STM32设计的智能喂养系统(ESP8266+微信小程序)175

基于STM32设计的牛羊喂养系统(微信小程序)(175) 文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成【3】ESP8266工作模式配置【4】上位机开发【5】项目模块划分1.2 项目功能需求1.3 项目开发背景1.4 开发工具的选择1.5 系统框架图1.6 系统原理图1.7 硬件实…...

第三方支付平台如何完美契合游戏行业?

在数字经济的浪潮中&#xff0c;游戏行业以其独特的魅力和创新能力&#xff0c;成为全球文化和经济交流的重要桥梁。然而&#xff0c;海外游戏商在进军中国市场时&#xff0c;常面临一系列难题。本文将通过一个故事案例&#xff0c;揭示第三方支付平台PASSTO PAY如何帮助海外游…...

计算机网络 5.6网桥与交换机

第六节 网桥与交换机 一、认识网桥 1.功能&#xff1a;连接两个具有相同或相似的网络结构的网络&#xff0c;解决网络之间距离太远问题&#xff0c;提高网络可靠性&#xff0c;还可以起过滤帧的作用而提高网络的性能。 2.适用场合&#xff1a;同构网。 3.特点&#xff1a; …...

CDH实操--集群卸载

作者&#xff1a;耀灵 1、停止正在运行的服务 a、控制台停止集群服务 b、控制台停止Cloudera Management Service c、命令行停止cm服务 systemctl stop cloudera-scm-agent #所有节点执行 systemctl stop cloudera-scm-server #cdh01节点执行2、主线并移除Parcles rm -r…...

5G RedCap调查报告

一、5G RedCap技术背景 5G RedCap(Reduced Capability缩写,轻量化5G),是3GPP标准化组织定义下的5G裁剪版本,是5G面向中高速率连接场景的物联网技术,它的能力介于5G NR(含eMBB和uRLLC)和LPWA(如LTE-M和NR-IoT)之间,如图1所示,是5G-A(5G Advanced)的关键技术之一。…...

模型(卷积、fc、attention)计算量 MAC/FLOPs 的手动统计方法

文章目录 简介背景为什么理解神经网络中的MAC和FLOPs很重要&#xff1f;资源效率内存效率能耗功耗效率 模型优化性能基准研究与发展 FLOPs 和 MACs 定义1. 全连接层 FLOPs 计算步骤 1&#xff1a;识别层参数步骤 2&#xff1a;计算 FLOPs 和 MACs步骤 3&#xff1a;总结结果使用…...

Git 删除包含敏感数据的历史记录及敏感文件

环境 Windows 10 Git 2.41.0 首先备份你需要删除的文件&#xff08;如果还需要的话&#xff09;&#xff0c;因为命令会将本地也删除将项目中修改的内容撤回或直接提交到仓库中&#xff08;有修改内容无法提交&#xff09; 会提示Cannot rewrite branches: You have unstaged …...

vue-tabs标签页引入其他页面

tabs页面 <template> <div class"app-container"> <el-tabs v-model"activeName" type"card" tab-click"handleClick"> <el-tab-pane label"套餐用户列表" name"first"> <user-list r…...

U-net和U²-Net网络详解

目录 U-Net: Convolutional Networks for Biomedical Image Segmentation摘要U-net网络结构pixel-wise loss weight U-Net: Going Deeper with Nested U-Structure for Salient Object Detection摘要网络结构详解整体结构RSU-n结构RSU-4F结构saliency map fusion module -- 显著…...

Vue3 引入腾讯地图 包含标注简易操作

1. 引入腾讯地图API JavaScript API | 腾讯位置服务 (qq.com) 首先在官网注册账号 并正确获取并配置key后 找到合适的引入方式 本文不涉及版本操作和附加库 据体引入参数参考如下图 具体以链接中官方参数为准标题 在项目根目录 index.html 中 写入如下代码 <!-- 引入腾…...

迅狐抖音机构号授权矩阵系统源码

在数字化营销的浪潮中&#xff0c;抖音以其独特的短视频形式迅速崛起&#xff0c;成为品牌传播和用户互动的重要平台。迅狐抖音机构号授权矩阵系统源码作为一项创新技术&#xff0c;为品牌在抖音上的深度运营提供了强大支持。 迅狐抖音机构号授权矩阵系统源码简介 迅狐抖音机…...

数据库系统原理练习 | 作业2-第2章关系数据库(附答案)

整理自博主本科《数据库系统原理》专业课完成的课后作业&#xff0c;以便各位学习数据库系统概论的小伙伴们参考、学习。 *文中若存在书写不合理的地方&#xff0c;欢迎各位斧正。 专业课本&#xff1a; 目录 一、选择题 二、填空题 三、简答题 四、关系代数 1.课本p70页&…...

有向图的强连通分量——AcWing 367. 学校网络

有向图的强连通分量 定义 强连通分量(Strongly Connected Components, SCC) 是图论中的一个概念&#xff0c;在一个有向图中&#xff0c;如果存在一个子图&#xff0c;使得该子图中的任意两个顶点都相互可达&#xff08;即从任何一个顶点出发都可以到达该子图中的其他任何顶点…...

安全开发--多语言基础知识

注释&#xff1a;还是要特别说明一下&#xff0c;想成为专业开发者不要看本文&#xff0c;本文是自己从业安全以来的一些经验总结&#xff0c;所有知识点也只限于网络安全这点事儿&#xff0c;再多搞不明白了。 开发语言 笼统的按照是否编译成机器码分类开发语言&#xff0c;…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

加密通信 + 行为分析:运营商行业安全防御体系重构

在数字经济蓬勃发展的时代&#xff0c;运营商作为信息通信网络的核心枢纽&#xff0c;承载着海量用户数据与关键业务传输&#xff0c;其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级&#xff0c;传统安全防护体系逐渐暴露出局限性&a…...

PH热榜 | 2025-06-08

1. Thiings 标语&#xff1a;一套超过1900个免费AI生成的3D图标集合 介绍&#xff1a;Thiings是一个不断扩展的免费AI生成3D图标库&#xff0c;目前已有超过1900个图标。你可以按照主题浏览&#xff0c;生成自己的图标&#xff0c;或者下载整个图标集。所有图标都可以在个人或…...

链式法则中 复合函数的推导路径 多变量“信息传递路径”

非常好&#xff0c;我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题&#xff0c;统一使用 二重复合函数&#xff1a; z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y))​ 来全面说明。我们会展示其全微分形式&#xff08;偏导…...

如何把工业通信协议转换成http websocket

1.现状 工业通信协议多数工作在边缘设备上&#xff0c;比如&#xff1a;PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发&#xff0c;当设备上用的是modbus从站时&#xff0c;采集设备数据需要开发modbus主站&#xff1b;当设备上用的是西门子PN协议时&#xf…...

VSCode 使用CMake 构建 Qt 5 窗口程序

首先,目录结构如下图: 运行效果: cmake -B build cmake --build build 运行: windeployqt.exe F:\testQt5\build\Debug\app.exe main.cpp #include "mainwindow.h"#include <QAppli...

python读取SQLite表个并生成pdf文件

代码用于创建含50列的SQLite数据库并插入500行随机浮点数据&#xff0c;随后读取数据&#xff0c;通过ReportLab生成横向PDF表格&#xff0c;包含格式化&#xff08;两位小数&#xff09;及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...