Django:使用filter的pk進(jìn)行多值查詢操作
由于想要做收藏夾的功能,所以希望能夠一次性查詢出所有id的對(duì)象,查看文檔,找到了如下方法
pk是primary key的縮寫,顧名思義pk_in就是primary key在某一個(gè)范圍內(nèi),具體操作(以自帶的User為例):
User.objects.filter(pk__in=[1,2,3])
這樣就可以去除id為1,2,3的User的對(duì)象了,很方便
注意是兩個(gè)下劃線
另外,還要pk__gt和pl_lt,都用于篩選范圍的
User.objects.filter(pk__gt=10)
意味著將要得到pk(一般也就是說id)大于10的對(duì)象(greater)
User.objects.filter(pk__lt=10)
意味著將要得到pk小于10的對(duì)象
補(bǔ)充知識(shí):Django 比較同一個(gè)model中的兩個(gè)字段,進(jìn)行條件過濾
django orm中怎么樣比較同一個(gè)模型中的兩個(gè)字段來過濾記錄呢?
例如一個(gè)合同字段,結(jié)束日期和終止日期的比較我們用sql很容易實(shí)現(xiàn)。
select *from contracts where
contract_stop_time<end_time
這里要是用db模塊中的F 庫才行 F object
from django.db.models import F
from contracts.models import Contracts
contracts = Contracts.objects.filter(contract_stop_time__lt=F('end_time'))
如果直接寫成
Contracts.objects.filter(contract_stop_time__lt=end_time)
或者
Contracts.objects.filter("contract_stop_time"<"end_time")
都是不行的。
以上這篇Django:使用filter的pk進(jìn)行多值查詢操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 在django中查詢獲取數(shù)據(jù),get, filter,all(),values()操作
- django filter過濾器實(shí)現(xiàn)顯示某個(gè)類型指定字段不同值方式
- 解決導(dǎo)入django_filters不成功問題No module named ''django_filter''
- django model 條件過濾 queryset.filter(**condtions)用法詳解
- django admin管理工具自定義時(shí)間區(qū)間篩選器DateRangeFilter介紹
- Django models filter篩選條件詳解
- django 自定義過濾器(filter)處理較為復(fù)雜的變量方法
- Django filter動(dòng)態(tài)過濾與排序?qū)崿F(xiàn)過程解析
相關(guān)文章
利用Python第三方庫實(shí)現(xiàn)預(yù)測(cè)NBA比賽結(jié)果
今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識(shí),文章圍繞著利用Python實(shí)現(xiàn)預(yù)測(cè)NBA比賽結(jié)果展開,文中有非常詳細(xì)的介紹,需要的朋友可以參考下2021-06-06
深入掌握Python模塊創(chuàng)建導(dǎo)入和使用
這篇文章主要為大家介紹了深入掌握Python模塊創(chuàng)建導(dǎo)入和使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
Python3實(shí)現(xiàn)配置文件差異對(duì)比腳本
這篇文章主要介紹了Python3實(shí)現(xiàn)配置文件差異對(duì)比腳本,本文通過案例場(chǎng)景分析給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
用基于python的appium爬取b站直播消費(fèi)記錄
因工作需要,需要爬取相關(guān)數(shù)據(jù),之前是爬取網(wǎng)頁數(shù)據(jù),可以用python的requests和Selenium進(jìn)行爬取。但b站的直播消費(fèi)數(shù)據(jù)網(wǎng)頁版不能顯示,只能在手機(jī)上看到,所以就有了這篇文章。需要的朋友可以參考下2021-04-04
Python英文文章詞頻統(tǒng)計(jì)(14份劍橋真題詞頻統(tǒng)計(jì))
這篇文章主要介紹了Python英文文章詞頻統(tǒng)計(jì)(14份劍橋真題詞頻統(tǒng)計(jì)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
完美解決Python 2.7不能正常使用pip install的問題
今天小編就為大家分享一篇完美解決Python 2.7不能正常使用pip install的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
如何利用Python獲取鼠標(biāo)的實(shí)時(shí)位置
這篇文章主要給大家介紹了關(guān)于如何利用Python獲取鼠標(biāo)的實(shí)時(shí)位置的相關(guān)資料,主要利用的是pyautogui,一個(gè)自動(dòng)化鍵鼠操作的Python類庫,需要的朋友可以參考下2022-01-01
Python中將兩個(gè)或多個(gè)list合成一個(gè)list的方法小結(jié)
python中,list這種數(shù)據(jù)結(jié)構(gòu)很常用到,如果兩個(gè)或者多個(gè)list結(jié)構(gòu)相同,內(nèi)容類型相同,我們通常會(huì)將兩個(gè)或者多個(gè)list合并成一個(gè),這樣我們?cè)傺h(huán)遍歷的時(shí)候就可以一次性處理掉了2019-05-05

