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

 更新时间:2020年07月15日 11:17:06   作者:Sparta-301  
这篇文章主要介绍了Django:使用filter的pk进行多值查询操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

由于想要做收藏夹的功能,所以希望能够一次性查询出所有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第三方库qrcode或MyQr生成博客地址二维码

    Python第三方库qrcode或MyQr生成博客地址二维码

    使用第三方库qrcode或者MyQr给自己的博客网址快速生成二维码,一键分享,文中含有详细示例代码,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-10-10
  • python中的netCDF4批量处理NC文件的操作方法

    python中的netCDF4批量处理NC文件的操作方法

    这篇文章主要介绍了python的netCDF4批量处理NC格式文件的操作方法,使用python批量提取所有数据,查看数据属性,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Python网络爬虫出现乱码问题的解决方法

    Python网络爬虫出现乱码问题的解决方法

    这篇文章主要为大家详细介绍了Python网络爬虫出现乱码问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 详解Python单元测试的两种写法

    详解Python单元测试的两种写法

    python的两个单元测试包分别是 doctest 和 unittest,这两个包的使用起来各有长处,适用于不同的场景,这篇文章主要介绍了Python单元测试的两种写法,需要的朋友可以参考下
    2022-07-07
  • python中文编码与json中文输出问题详解

    python中文编码与json中文输出问题详解

    Python的编码问题还是很让人头疼的,做下笔记帮助别人,也帮助自己,下面这篇文章主要给大家介绍了关于python中文编码与json中文输出问题的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-08-08
  • 详解pytest传递参数的几种方式

    详解pytest传递参数的几种方式

    本文主要介绍了详解pytest传递参数的几种方式,详细的介绍了4种传参方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • Python实现投影法分割图像示例(一)

    Python实现投影法分割图像示例(一)

    今天小编就为大家分享一篇Python实现投影法分割图像示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 解读NumPy数组与Python列表的比较

    解读NumPy数组与Python列表的比较

    在Python中处理数值数据时,可以选择使用Python列表或NumPy数组,Python列表灵活,可存储不同类型元素,但在大数据处理上可能较慢,NumPy数组固定类型,内存连续存储,执行数组操作如加法、乘法等更高效,尤其在大数据集处理上具有明显的性能和内存使用优势
    2024-10-10
  • Python中操作文件之write()方法的使用教程

    Python中操作文件之write()方法的使用教程

    这篇文章主要介绍了Python中操作文件之write()方法的使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python实现属性可修改的装饰器方式

    Python实现属性可修改的装饰器方式

    这篇文章主要介绍了Python实现属性可修改的装饰器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02

最新评论