Django:使用filter的pk进行多值查询操作


Posted in Python onJuly 15, 2020

由于想要做收藏夹的功能,所以希望能够一次性查询出所有id的对象,查看文档,找到了如下方法

pk是primary key的缩写,顾名思义pk_in就是primary key在某一个范围内,具体操作(以自带的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中怎么样比较同一个模型中的两个字段来过滤记录呢?

例如一个合同字段,结束日期和终止日期的比较我们用sql很容易实现。

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进行多值查询操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现登录人人网并抓取新鲜事的方法
May 11 Python
Python中的ceil()方法使用教程
May 14 Python
详解Python装饰器由浅入深
Dec 09 Python
python中Switch/Case实现的示例代码
Nov 09 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
Python使用folium excel绘制point
Jan 03 Python
Django+Xadmin构建项目的方法步骤
Mar 06 Python
python卸载后再次安装遇到的问题解决
Jul 10 Python
Python 日志logging模块用法简单示例
Oct 18 Python
python之openpyxl模块的安装和基本用法(excel管理)
Feb 03 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 18 Python
python3+PyQt5+Qt Designer实现界面可视化
Jun 10 Python
django models里数据表插入数据id自增操作
Jul 15 #Python
python报错: 'list' object has no attribute 'shape'的解决
Jul 15 #Python
解决运行出现'dict' object has no attribute 'has_key'问题
Jul 15 #Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
Jul 15 #Python
解决导入django_filters不成功问题No module named 'django_filter'
Jul 15 #Python
django rest framework使用django-filter用法
Jul 15 #Python
Django REST 异常处理详解
Jul 15 #Python
You might like
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
原生js实现轮播图
2017/02/27 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
2020/11/02 Javascript
Python基于twisted实现简单的web服务器
2014/09/29 Python
简单谈谈Python流程控制语句
2016/12/04 Python
Python实现快速计算词频功能示例
2018/06/25 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
详解python配置虚拟环境
2019/04/08 Python
TensorFlow自定义损失函数来预测商品销售量
2020/02/05 Python
tensorflow多维张量计算实例
2020/02/11 Python
python实现取余操作的简单实例
2020/08/16 Python
使用Python实现音频双通道分离
2020/12/25 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
利物浦足球俱乐部官方网上商店:Liverpool FC Official Store
2018/01/13 全球购物
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
WSDL的操作类型主要有几种
2013/07/19 面试题
2015年人力资源部工作总结
2015/04/30 职场文书
只用20行Python代码实现屏幕录制功能
2021/06/02 Python
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS