【Django】執行查詢—F()表達式

F()

F()可以實現將模型字段值與同一模型中的另一字段做比較。舉個例子看一下:

class Entry(models.Model):...number_of_comments = models.IntegerField(default=0)number_of_pingbacks = models.IntegerField(default=0)...

找到所有 number_of_pingbacks 大于 number_of_comments 的博客條目的列表:

>>> from django.db.models import F
>>> Entry.objects.filter(number_of_comments__gt=F("number_of_pingbacks"))

Django 支持在 F() 對象中使用加法、減法、乘法、除法、取模和冪算術,既可以與常數一起使用,也可以與其他 F() 對象一起使用。

>>> Entry.objects.filter(number_of_comments__gt=F("number_of_pingbacks") * 2)
>>> Entry.objects.filter(rating__lt=F("number_of_comments") + F("number_of_pingbacks"))

還可以在 F() 對象中使用雙下劃線符號來跨越關系。

>>> Entry.objects.filter(authors__name=F("blog__name"))

F() 對象支持位操作,包括 .bitand().bitor().bitxor().bitrightshift().bitleftshift()

>>> F("somefield").bitand(16)

Django 支持在表達式中使用變換,包括了F() 表達式。

>>> from django.db.models import F
>>> Entry.objects.filter(pub_date__year=F("mod_date__year"))
>>> from django.db.models import Min
>>> Entry.objects.aggregate(first_published_year=Min("pub_date__year"))

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

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

相關文章

大數據權限認證 Kerberos 部署

文章目錄 1、什么是 Kerberos2、Kerberos 術語和原理2.1、Kerberos 術語2.1、Kerberos 原理 3、Kerberos 服務部署3.1、前置條件3.2、安裝依賴3.3、配置 krb5.conf3.4、配置 kdc.conf3.5、配置 kadm5.acl3.6、安裝 KDC 數據庫3.7、啟動服務3.8、創建 Kerberos 管理員3.9、創建普…

idea 手動打 jar 包

1.在 File 中找到并點擊 Project Structure 2.按圖中高亮的部分依次點擊 3.在 Main Class 處設置要打包的類,記得在 Directory for ... 處設置目錄為根目錄,設置好以后點擊兩次 OK 回到首頁 4.在頁面上方找到 Build ,點擊 Build Artifacts...…

【Linux】在 Ubuntu 系統下使用 Screen 運行 Python 腳本

在 Ubuntu 系統下使用 Screen 運行 Python 腳本的優點 在 Ubuntu 操作系統中,Screen 是一種非常有用的工具,特別是在需要長時間運行的任務或者需要在后臺運行的任務中。結合 Python 腳本,Screen 提供了一種靈活且高效的方式來管理和執行任務…

ECOVADIS評估-自2024年1月1日起發布的記分卡的資格標準說明

EcoVadis評分(0-100分)反映了進行評估時公司的企業社會責任管理體系的質量。EcoVadis獎牌和獎章計劃旨在表彰按EcoVadis評估方法中所述,已完成EcoVadis評估流程并展示出相對強大的管理系統來解決企業社會責任標準的合格公司。獎牌和獎章的資格…

docker常用操作命令

常用的命令,詳細的命令下方有具體介紹 docker ps 查看正在運行的容器 docker ps -a 查看全部容器 docker images 查看本地鏡像 docker search [鏡像名稱] 查詢鏡像 docker run --name mynginx -d nginx:latest: 使用docker鏡像nginx:latest以后臺模…

在Windows系統上安裝Docker和SteamCMD容器的詳細指南有哪些?

在Windows系統上安裝Docker和SteamCMD容器的詳細指南有哪些? 安裝Docker: 首先,需要在Windows操作系統上激活WSL2功能。這是因為Docker作為一個容器工具,依賴于已存在并運行的Linux內核環境。可以通過使用winget來安裝Docker。具體…

排序(2)——希爾排序

希爾排序(縮小增量排序) 基本思想 希爾排序法又稱縮小增量法。希爾排序法的基本思想是:先選定一個整數,把待排序文件中所有記錄分成個組,所有距離為的記錄分在同一組內,并對每一組內的記錄進行排序。然后&…

Linux - 基本背景

1、linux發展史 1.1、UNIX發展歷史 1968年,一些來自通用電器公司、貝爾實驗室和麻省理工學院的研究人員開發了一個名叫Multics的特殊操作系統。Multics在多任務文件管理和用戶連接中綜合了許多新概念。1969-1970年,AT&T的貝爾實驗室研究…

[SD] 安裝使用stable diffusion webui

1.下載基礎版本并解壓: https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/download/v1.0.0-pre/sd.webui.zip 2.運行update.bat 這步的目的是升級到最新版本,并下載相應的依賴庫。 這步可能會提示某些git倉庫無法clone到本地&#…

[工具探索]-Gitlab的CI/CD操作

在 GitLab 中,CI(持續集成)是一項強大的功能,它允許你自動化構建、測試和部署你的代碼。 在 GitLab CI/CD 中,.gitlab-ci.yml 文件是用于定義構建和部署流程的配置文件。它使用一種基于 YAML 的語法。 下面是一個簡單…

dp——路徑距離

能幫到你的話,就給個贊吧 😘 文章目錄 01 62. 不同路徑02 63. 不同路徑 II03 64. 最小路徑和04 72. 編輯距離05 120. 三角形最小路徑和06 124. 二叉樹中的最大路徑和07 174. 地下城游戲08 514. 自由之路09 576. 出界的路徑數10 931. 下降路徑最小和11 13…

AcWing 1229. 日期問題 解題思路及代碼

先貼個題目: 以及原題鏈接:1229. 日期問題 - AcWing題庫https://www.acwing.com/problem/content/1231/ 這題其實和之前的回文日期相似,可以直接暴力枚舉,然后得解,放個小片段: for (int date 19600101; …

UI自動化-(web端下拉選擇框彈出框滾動條操作-實操入門)

1、下拉選擇框操作 在 UI 自動化中,操作下拉選擇框可以通過以下步驟進行: 定位下拉選擇框元素:通過適當的元素定位方法,找到下拉選擇框的元素。打開下拉框:例如通過點擊(.click)來操作下拉框元素打開下拉框。選擇選項:可以通過以下幾種方式選擇下拉框中的選項:根據索…

uni-app 頁面跳轉動畫

API的方式 uni.navigateTo({url: ../test/test,animationType: pop-in,animationDuration: 200 }); uni.navigateBack({delta: 1,animationType: pop-out,animationDuration: 200 });pages.json中配置的方式 "style": {"app-plus": {"animationType…

【代碼學習】pytorch_lightning

在Follow別人工作時,經常發現別人使用pytorch_lightning模板,比如這篇分布式信源信道聯合編碼工作就是用了lightning-hydra-template模板,有必要學習下這個框架。

高級語言期末2009級A卷(計算機學院)

1.編寫bool函數&#xff0c;判定給定的正整數n&#xff0c;M是否滿足&#xff1a;M為n的質因數&#xff08;能整除n的質數&#xff09; #include <stdio.h> #include <stdbool.h> #include <math.h>bool Isprime(int n) {if(n<1)return false;for(int i2…

時隔n年再度會看Vue,Git

時隔n年再度會看Vue,Git 曾經滄海難為水&#xff0c;除卻巫山不是云。不知道這句話用在這里合不合適&#xff0c;好多東西在記憶中都淡化了。但是互聯網確是有記憶的。研究以前項目的時候&#xff0c;翻看到gitee碼云上托管的項目&#xff0c;就像是自己的孩子重新又回來了一樣…

突破編程_C++_面試(異常處理)

面試題 1 &#xff1a;什么是異常處理&#xff1f;為什么需要它&#xff1f; 在C中&#xff0c;異常處理是一種處理程序運行時錯誤的機制。它允許程序員在程序的某個部分中定義和處理可能會出現的異常情況&#xff0c;即“異常”。這些異常情況通常是由錯誤條件、非法操作或其…

Laravel Octane 和 Swoole 協程的使用分析

之前在工作中使用 Laravel Octane 的 concurrently 處理并發時&#xff0c;發現在隊列和定時任務中不會觸發并發效果。經過分析&#xff0c;作了如下猜測&#xff1a;隊列和定時任務都屬于一個獨立的進程&#xff0c;與 Octane 服務無關&#xff0c;而 Octane concurrently 恰恰…

C#高級:DataGridView的詳解

一、每條數據增加一個按鈕&#xff0c;點擊輸出對應實體 請先確保正確添加實體的名稱和文本&#xff1a; private void button6_Click(object sender, EventArgs e) {//SQL查詢到數據&#xff0c;存于list中List<InforMessage> list bll.QueryInforMessage();//含有字段…