Django:使用filter的pk進行多值查詢操作
由于想要做收藏夾的功能,所以希望能夠一次性查詢出所有id的對象,查看文檔,找到了如下方法
pk是primary key的縮寫,顧名思義pk_in就是primary key在某一個范圍內(nèi),具體操作(以自帶的User為例):
User.objects.filter(pk__in=[1,2,3])
這樣就可以去除id為1,2,3的User的對象了,很方便
注意是兩個下劃線
另外,還要pk__gt和pl_lt,都用于篩選范圍的
User.objects.filter(pk__gt=10)
意味著將要得到pk(一般也就是說id)大于10的對象(greater)
User.objects.filter(pk__lt=10)
意味著將要得到pk小于10的對象
補充知識:Django 比較同一個model中的兩個字段,進行條件過濾
django orm中怎么樣比較同一個模型中的兩個字段來過濾記錄呢?
例如一個合同字段,結(jié)束日期和終止日期的比較我們用sql很容易實現(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進行多值查詢操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 在django中查詢獲取數(shù)據(jù),get, filter,all(),values()操作
- django filter過濾器實現(xiàn)顯示某個類型指定字段不同值方式
- 解決導入django_filters不成功問題No module named ''django_filter''
- django model 條件過濾 queryset.filter(**condtions)用法詳解
- django admin管理工具自定義時間區(qū)間篩選器DateRangeFilter介紹
- Django models filter篩選條件詳解
- django 自定義過濾器(filter)處理較為復雜的變量方法
- Django filter動態(tài)過濾與排序?qū)崿F(xiàn)過程解析
相關(guān)文章
Python第三方庫qrcode或MyQr生成博客地址二維碼
使用第三方庫qrcode或者MyQr給自己的博客網(wǎng)址快速生成二維碼,一鍵分享,文中含有詳細示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10Python網(wǎng)絡(luò)爬蟲出現(xiàn)亂碼問題的解決方法
這篇文章主要為大家詳細介紹了Python網(wǎng)絡(luò)爬蟲出現(xiàn)亂碼問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01