前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >django queryset 合并

django queryset 合并

作者头像
kirin
发布于 2020-11-05 02:19:23
发布于 2020-11-05 02:19:23
79100
代码可运行
举报
文章被收录于专栏:Kirin博客Kirin博客
运行总次数:0
代码可运行

1. 通过自带的方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a1 = User.objects.filter(id__gt=8)
a2 = User.objects.filter(id__lt=4)

a3 = a1 | a2
注:这种方式合并的结构还是一个queryset,相当于a3把a1和a2的条件合并了,推荐,因为可以用order_by等函数了
只能合并同种model对象的数据

2. 用python的chain合并

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from itertools import chain

a1 = User.objects.filter(id__gt=8)
a2 = User.objects.filter(id__lt=4)

a3 = chain(a1, a2)
这时候a3是个可迭代对象,把a1和a2分别求出来之后合并成了一个可迭代对象,
他可以作用于其他可迭代对象中他可以把不同model的对象合并,类似于与list相加
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/11/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
django合并多个queryset
这几天正在做一个关于权限控制的django框架,今天上午遇见了一个bug,因为我的需求是,每个人拥有的权限不同,所以你所能够访问的菜单也不同,那么这时候不同的人员访问不同的菜单是不一样的。
kirin
2020/11/23
2.8K0
Django篇(二)
'ENGINE':'django.db.backends.mysql',
不断折腾
2019/09/23
1.4K0
Django之ORM
Django默认使用的是sqlite,如果想使用mysql来存储数据,需要改变成相应的数据库引擎,具体如下:
py3study
2020/01/20
1.1K0
Django model select的各种用法详解
Q对象可以对关键字参数进行封装,从而更好的应用多个查询,可以组合&(and)、|(or)、~(not)操作符。
37丫37
2018/08/23
1.1K0
Django之model查select的用法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
菲宇
2019/10/22
7630
Django之mysql表单操作
  在Django之ORM模型中总结过django下mysql表的创建操作,接下来总结mysql表记录操作,包括表记录的增、删、改、查。
全栈程序员站长
2022/07/18
5030
【愚公系列】2022年01月 Python教学课程 42-Django框架之ORM中查询详解
以上运算符都区分大小写,在这些运算符前加上i表示不区分大小写,如iexact、icontains、istartswith、iendswith. 3) 空查询
愚公搬代码
2022/12/01
1.9K0
【愚公系列】2022年01月 Python教学课程 42-Django框架之ORM中查询详解
Django ORM那些相关操作
一般操作 https://docs.djangoproject.com/en/1.11/ref/models/querysets/         官网文档 常用的操作 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。 <4> e
新人小试
2018/04/12
2.3K0
Django中数据库的相关操作
year、month、day、week_day、hour、minute、second:对日期时间类型的属性进行运算。
小闫同学啊
2019/07/18
2.2K0
Django中数据库的相关操作
Django之ORM对数据库操作
基本操作 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。 <4> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象 <5> values(*field): 返回一个ValueQu
人生不如戏
2018/04/11
1.3K0
Django学习笔记之Queryset详解
    Django ORM用到三个类:Manager、QuerySet、Model。Manager定义表级方法(表级方法就是影响一条或多条记录的方法),我们可以以models.Manager为父类,定义自己的manager,增加表级方法;QuerySet:Manager类的一些方法会返回QuerySet实例,QuerySet是一个可遍历结构,包含一个或多个元素,每个元素都是一个Model 实例,它里面的方法也是表级方法,前面说了,Django给我们提供了增加表级方法的途径,那就是自定义manager类,而不是自定义QuerySet类,一般的我们没有自定义QuerySet类的必要;django.db.models模块中的Model类,我们定义表的model时,就是继承它,它的功能很强大,通过自定义model的instance可以获取外键实体等,它的方法都是记录级方法(都是实例方法,貌似无类方法),不要在里面定义类方法,比如计算记录的总数,查看所有记录,这些应该放在自定义的manager类中。以Django1.6为基础。
Jetpropelledsnake21
2018/08/01
2.7K0
Django基础篇-查询字段
注意:filter(**kwargs)方法:根据参数提供的提取条件,获取一个过滤后的 QuerySet。
小团子
2019/07/18
1.7K0
Django基础篇-查询字段
Django官方文档小结(二) -- QuerySet
字段查找是指定SQL WHERE子句的内容的方式。它们被指定为QuerySet方法的关键字参数filter(), exclude()并且get()。
Autooooooo
2020/11/09
1.8K0
Django学习笔记之Django ORM相关操作
<!-- p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang SC"; color: #000000 } span.s1 { } span.s2 { font: 11.0px Helvetica } -->
Jetpropelledsnake21
2019/02/15
3.6K0
Django之ORM 单表查询(二)
Django 的 ORM 是创建 SQL 去查询和操作数据库的一个 Python 式的方式。
小团子
2019/07/18
4600
Django之ORM 单表查询(二)
python 终级篇 django --
                                   一般操作                                             
py3study
2020/01/19
2.9K0
python 终级篇 django --
Django知识点
一、Django pip3 install django C:\Python35\Scripts # 创建Django工程 django-admin startproject 【工程名称】 mysite - mysite # 对整个程序进行配置 - init - settings # 配置文件
院长技术
2021/02/19
8470
django_数据库操作—增、删、改、查
year、month、day、week_day、hour、minute、second:对日期时间类型的属性进行运算。
py3study
2020/01/15
1.3K0
django入门:数据模型
博客:https://www.jianshu.com/p/ec32dbc5c8d2
陈宇明
2020/12/15
8370
django入门:数据模型
Django的ORM操作-查询数据
数据库的查询需要使用管理器对象进行 通过mymodel.objects管理器方法调用查询对象 方法 说明 all() 查询全部记录,返回QuerySet查询对象 get() 查询符合条件的单一记录 filter() 查询符合条件的多条记录 exclude() 查询符合条件外的全部记录 all()方法 ---- 使用方法:Asset.objects.all() from monitor.models import Asset querys =Asset.objects.all() for i in que
Yuou
2022/09/26
8660
相关推荐
django合并多个queryset
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文