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"))
這些操作符可以組合使用,以創建非常復雜和精確的查詢。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41598.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41598.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41598.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

React Redux使用@reduxjs/toolkit的hooks

關于redux的學習過程需要幾個官網,有redux官網,React Redux官網和Redux Toolkit的官網。 其中后者的中文沒有找到,不過其中的使用在React Redux官網的快速入門中有介紹。 現在一般不使用connect借接口了。 對于借助Redux Toolkit的React Redu…

Linux GUN(gcc/g++) 版本升級教程

Linux gcc/g 升級命令: // 查看當前安裝的版本 ll /usr/bin/gcc* ll /usr/bin/g*// 更新源 sudo apt update // 安裝新版本 sudo apt install g-10 gcc-10 // 應用新的版本 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10 sudo update-altern…

【網站推薦】Developer Roadmaps 開發者學習路線

你是否想學習某門技術而苦苦找不到學習路線。本文推薦一個網站,解決學習路徑問題。 roadmap.sh 旨在創建路線圖、指南和其他教育內容,以幫助指導開發人員選擇路徑并指導他們的學習。 技術路線包括了前端后端安卓iosUI設計等內容,一些技術比如…

信息安全三要素

文章目錄 安全三要素 CIA機密性完整性可用性參考資料 安全三要素 CIA 安全三要素,也被稱為信息安全的CIA三要素,是確保信息和系統安全的核心原則。它們分別是: 機密性(Confidentiality):保護數據不能泄露…

antdesignvue對話框用戶可移動并縮放

原貼 輕松搞定Ant Design Modal對話框拖拽縮放 - ByteZoneX社區https://www.bytezonex.com/archives/IFRuoJhd.html Ant Design 模態對話框:實現拖拽縮放功能 **子 Ant Design 是一個流行的前端 UI 框架,提供了一系列實用的組件,包括模態對…

ESP32CAM物聯網教學02

ESP32CAM物聯網教學02 物聯網門鎖 小智來到姑姑家門口,按了門鈴;還在公司上班的姑姑用電腦給小智開了門,讓他先進屋休息。小智對物聯網門鎖產生了興趣:什么是物聯網?為什么這么厲害? 初識物聯網 我們在百…

andboxie-Plus - 知名沙盒軟件、支持游戲多開測試軟件

我們經常會需要用到一些毒瘤軟件——它們可能不是真正的惡意軟件,但總愛偷摸干一些流氓行為。 工作中,有時還不得不安裝使用一些來路不明、不能完全信任的可疑軟件。 裝上吧,心里膈應、難受;不裝吧,有些工作又進行不…

代碼隨想錄算法訓練營第五十八天|KMC101 孤島的總面積、KMC102 沉沒孤島、KMC103 水流問題

題1: 指路:101. 孤島的總面積 (kamacoder.com) 思路與代碼: 本題要求找到不靠邊的陸地面積,那么我們從地圖的最外層開始遍歷,找到靠近四個邊的陸地,通過搜索將周邊靠陸地且相鄰的陸地1變成海洋0&#xf…

【驅動篇】龍芯LS2K0300之PWM設備驅動

實驗目的 利用脈沖調制效應(PWM)等效改變輸出功率大小控制LED,從而實現呼吸燈效果,需要用到RGB LED模塊 模塊連接 IO 插針接口上一共集成了兩路PWM,分別是PWM2和PWM3,對應GPIO88、GPIO89 PWM2和PWM3對…

期末考試結束,老師該如何私發成績?

隨著期末考試的落幕,校園里又恢復了往日的寧靜。然而,對于老師們來說,這并不意味著工作的結束,相反,一系列繁瑣的任務才剛剛開始。 成績單的發放,就是其中一項讓人頭疼的工作。家長們焦急地等待著孩子的考試…

Python程序打包成EXE文件指南

本套課在線學習視頻(網盤地址,保存到網盤即可免費觀看): ??https://pan.quark.cn/s/57ba5f313c5b?? 將Python程序打包成可執行文件(EXE)可以方便用戶在沒有Python環境的計算機上運行程序。本文將詳細…

【Linux】在線求助命令--help,man page , info page

我們知道Linux有很多的命令,那LInux要不要背命令? 答案是背最常用的那些就行了 那有的時候我們想查詢一些命令的詳細用法該怎么辦呢? 這里我給出3種方法 1.--help --help的使用方法很簡單啊 要查詢的命令 --help 我們看個例子 這里我只…

C語言4 運算符

目錄 1. 算術運算符 2. 關系運算符 3. 邏輯運算符 4. 位運算符 5. 賦值運算符 6. 自增和自減運算符 7. 條件運算符(三元運算符) 8. 逗號運算符 9. sizeof 運算符 10. 取地址和解引用運算符 11.運算符的優先級 1. 算術運算符 (加法)&#xff1…

CRT工具

CRT工具 傳輸位置設置 打開SFTP alt p 命令 ls:遠程機器當前目錄內容 lls:傳輸位置文件的目錄內容 pwd:遠程機器的當前位置 lpwd:傳輸位置的位置 get 文件:ftp傳輸文件 get -r 文件夾:ftp傳輸文件…

如何獲取歌曲id---cloudmusic

X-Requested-With:“XMLHttpRequest”: https://blog.csdn.net/muzico425/article/details/102735413 https://www.runoob.com/xml/xml-http.html https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest 通過該案例主要還是學習一下X-Requested-With:"XMLHtt…

大華DSS user_toLoginPage.action命令執行漏洞

免責聲明 本文章僅做網絡安全技術研究使用!嚴禁用于非法犯罪行為,請嚴格遵守國家法律法規;請勿利用文章內的相關技術從事非法測試,如因此產生的一切不良后果與文章作者無關。使用本文所提供的信息或工具即視為同意本免責聲明&…

go語言day11 錯誤 defer(),panic(),recover()

錯誤: 創建錯誤 1)fmt包下提供的方法 fmt.Errorf(" 格式化字符串信息 " , 空接口類型對象 ) 2)errors包下提供的方法 errors.New(" 字符串信息 ") 創建自定義錯誤 需要實現error接口,而error接口…

JavaSe系列二十七: Java正則表達式

正則表達式 為什么要學習正則表達式再提幾個問題解決之道-正則表達式正則表達式基本介紹介紹 正則表達式底層實現實例分析 正則表達式語法基本介紹元字符-轉義號 \\\\元字符-字符匹配符元字符-選擇匹配符元字符-限定符元字符-定位符分組非貪婪匹配 應用實例對字符串進行如下驗證…

學習筆記——動態路由——OSPF聚合(匯總)

十一、OSPF聚合(匯總) 1、路由聚合(匯總) 路由匯總是一種重要的思想,在大型的項目中是必須考慮的一個重點事項。隨著網絡的規模越來越大,網絡中的設備所需維護的路由表項也就會越來越多,路由表的規模也就會逐漸變大,而路由表是需…

React中的useMemo和memo

引言 React是一個聲明式的JavaScript庫,用于構建用戶界面。在開發過程中,性能優化是一個重要的方面。useMemo和memo是React提供的工具,用于幫助開發者避免不必要的渲染和計算,從而提升應用性能。 問題背景 在React應用中&#…