·

Django combine multiple QuerySets

发布时间:2024-05-03 00:33:49阅读量:566
转载请注明来源

Suppose that we have two different models.

class Author(models.Model):
    name = models.CharField(max_length=50)

class Article(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author)

In certain circumstances, you might want to merge two querysets into one queryset. For example, you may want to combine Author.objects.all() and Article.objects.all(). You could accomplish this by pure python method itertools.chain, or using Django's inbuilt queryset method union . However, these are no more intuitive than combining two querysets directly.

We recommend to use the package django-querysetsequence. To combine Author.objects.all() and Article.objects.all(), you just need to call QuerySetSequence directly :

from queryset_sequence import QuerySetSequence

authors = Author.objects.all()
articles = Article.objects.all()
authors_articles = QuerySetSequence(authors, articles)

If you have multiple models A, B, C, D, E, F , and have an array data containing their querysets, e.g. A.objects.all(), B.objects.all() , etc. To combine querysets in an array, you could make use of python's inbuilt method reduce :

from functools import reduce
from queryset_sequence import QuerySetSequence

q = reduce(QuerySetSequence, data)


0 人喜欢

评论区

暂无评论,来发布第一条评论吧!

弦圈热门内容

出口退税其中重要的四个时间节点

30天:外贸企业购进出口货物后,应及时向供货企业索取增值税专用发票或普通发票。如果发票属于防伪税控增值税发票,必须在开票之日起30天内办理认证手续。90天:外贸企业必须在货物报关出口之日起90天内办理出口退税申报手续。对于生产企业,这一期限则是在货物报关出口之日起三个月后的免抵退税申报期内办理免抵税申报手续。180天:出口企业必须在货物报关出口之日起180天内,向所在地主管退税部门提供出口收汇核销单(远期收汇除外)3个月:如果出口企业出口货物的纸质退税凭证丢失或内容填写有误但按有关规定可以补办或更改,那么出口企业可以在申报期限内向退税部门提出延期办理出口货物退(免)税申报的申请。经批准后,可以延期3个月申报。

MC自制模组之矿脉扩张(介绍篇)

作为一个不经常玩MC的MC老玩家,在一年前回归MC后,看到别人弄的各种花样的模组,我萌生了做个属于自己的模组的想法。作为一个MC魔改的新手,刚开始尝试制作模组并不容易,一是网上搜到的资料参差不齐,二是修改过程中需要改哪些参数,有的需要自己摸索,三是修改过程中会出现bug需要多次重启游戏进行测试。本篇文章算是我人生中的第一篇游戏文章,我选择分享之前我特别感兴趣的《矿脉扩张》模组。所谓矿脉扩张,顾名思义就是将原本的矿脉扩大数倍不止,达到取之不尽用之不竭的程度。这又是众所周知的懒狗生存🤣,该模组可以说十分对胃那种喜欢挖矿的玩家,并且搭配上连锁挖矿每挖一次就爆出一大堆经验,可谓是十分解压😁。我玩MC的时候就是挖矿总是挖得不够爽,煤矿还好一些,别的矿尤其是一些比较稀有的矿,如钻石矿一下就挖完了。我很想体验一下那种暴富的感觉,无论什么矿,都一挖一大把,钻石套、下界合金套全都轻松凑齐,然后拿钻石块、下界合金块搭房子😇。于是有次在网上浏览模组时,我发现了有人分享了矿脉扩张模组,我第一次知道原来连矿脉分布都可以修改,当我怀着兴奋和期待试过好几个模组,最后结果都不如我所愿。网络上的矿脉扩张模组首先很少,并 ...

“钱”途无量的企业名称

一、企业名称的规范要求企业名称的规范性不仅涉及商誉权,还受法律法规的限制以下是企业名称的规范要求:有限责任公司名称构成:行政区划+字号+行业+组织形式注:标明“有限责任公司”或“有限公司”字样禁止包含内容:损害国家或社会利益可能欺骗或误导公众外国国家(地区)名称、国际组织名称政党、党政机关、群众组织、社会团体名称、部队番号汉语拼音字母(外文名称除外)数字法律法规禁止使用的内容:特殊使用权:“中国” “中华” “全国” “国际”等文字仅限全国大型企业私营企业外商投资:可使用投资者姓名作为商号分支机构:名称应冠以主办单位全称,分支机构名称需标明所属总公司、行业、地名二、企业名称类型企业名称的涉及可以从不同依托出发,主要分类如下:家族姓氏:以创始人姓氏为名,如丰田、麦当劳地名:使用地理位置、如长江集团特殊机构名称:包括高校、国家机关等,如北大方正集团核心业务名称:体现主营业务,如某地产集团象征物名称:使用符号或物体,如葵花药业、熊猫电子吉祥如意:包含吉祥寓意,如吉利汽车、平安保险展示富贵气派:带有富丽感,如皇家航空体现文化价值:体现企业文化与传统,如壹隆集团体现传统商业味:反映商业文化,如新 ...

纸上谈狼人杀入门篇(二) - 基本逻辑

纸上谈狼人杀入门篇(一) - 基础规则纸上谈狼人杀入门篇(二) - 基本逻辑在上一章介绍了狼人杀的基本规则之后,我相信很多人已经对这个游戏有一些印象了。在这一章中,我会简单介绍几个我认为很重要的逻辑,并附上一个简单的说明,并在介绍完所有逻辑之后,讨论一下状态分析流与逻辑分析流的关系,以及狼人杀大神们是如何运用逻辑与状态这两种分析手段的。其实对于新手来说,在刚开始的时候只要记住这些逻辑就可以了。至于这些逻辑到底为什么会成立,以及在具体情况中,它们有没有不成立的可能性的这些问题,我相信你在开始玩这个游戏之后,自己就能慢慢解开。而在入门阶段,如果你去思考太多情况的话,反而会大概率让你陷入迷失的状态,并对这个游戏失去兴趣。所以现在,我认为你可以把以下介绍的逻辑当成真理。等到你有了更多狼人杀的经验之后,就是你开始反思这些真理的时候。在开始介绍逻辑之前,我希望先介绍一下这些逻辑的一些相关信息,这样可以让新手更好的理解后面所介绍的逻辑。1. 以下所有的逻辑都是站在好人阵营玩家的视角上来说的。因为对于狼人来说,其实局势在第一晚就已经很明显了,谁是队友谁是对手是非常清晰的。所以狼人不太需要这些逻辑去分析 ...

纸上谈狼人杀入门篇(一) - 基础规则

纸上谈狼人杀入门篇(一) - 基础规则纸上谈狼人杀入门篇(二) - 基本逻辑最近一段时间,周末常常和朋友一起狼人杀,不过因为总是有新的朋友不断加入的缘故,每次开始之前都要花蛮多时间介绍规则。不过对于新手来说,光是了解规则并不意味着就清楚怎么玩这个游戏了,过去几周,我们的局中就出现了几次新手拿到关键身份却带崩了好人团队的情况。本文的主要目的就是希望让狼人杀新手读完之后,至少知道如何去参与这个游戏,作为好人应该怎样贡献自己的力量,作为狼人应该怎样去帮助同伴获得胜利。如果你已经是狼人杀的高端玩家了,那么可能本文介绍的东西对你没有任何帮助了,不过你可以把本文分享给你局里面的新手玩家,这样也可以帮你节省很多介绍规则的时间。首先,我这篇文章有一个预设的前提,就是你所在的局中已经有会玩狼人杀的玩家了。因为狼人杀有很多细枝末节的规则,但是如果你是一个新手玩家,知道这些规则并不太有用,反而还会把你搞糊涂。所以我暂时并不会介绍你不需要了解的规则,因为只要你所在的局中有会玩狼人杀的玩家,在涉及到特殊规则的时候(一般这些特殊规则出现的情况并不多),让他们介绍一下就好了。我在这篇文章里只会介绍关键性的规则,不过 ...

大白狼人杀非正规入门/提升手册

丘比特讲解篇之前有好一段时间没有及时更新文章,实感抱歉,今天为大家正式介绍一下比较有趣的角色--丘比特(如果之后有时间的话,可能会继续介绍如盗贼,混血儿和野孩子等角色),首先,我们来了解一下丘比特的功能是什么。丘比特:在游戏开始天黑的时候,法官会最先叫醒丘比特,并示意丘比特可以将两位玩家连成情侣(可以将自己也连进链子里),在丘比特闭眼之后法官会让被连在一起的情侣睁眼互相确认恋人号码(但是不同互通身份,即不能告知对方自己是否是狼人或是神民),之后的夜晚丘比特和情侣不会再再夜里睁眼(如果情侣非普通村民的话,在自己角色的环节依然睁眼正常听法官指挥行动)。1. 如果被丘比特连在一起的两个人都是好人的话,则情侣属于好人阵营,丘比特也属于好人阵营,丘比特和链子的胜利条件和好人阵营胜利条件一致。2. 如果被丘比特连在一起的两个人都是狼人的话,则情侣依旧属于狼人阵营,求比特也属于狼人阵营,丘比特和情侣胜利条件和狼人阵营一致。3. 如果被丘比特连在一起的两个人一个是好人,一个是狼人,则丘比特和链子属于第三方阵营,其胜利条件为杀光场上其他所有玩家(即屠城胜利),但要保证所有普通村民和所有神民两者在第三方阵 ...

狼人杀超详入门攻略

文章内容比较长~ 分角色介绍(游戏规则)、狼人战术以及其他各角色玩法三个方面~应该看完之后狼人杀入门是没什么问题了 > <1. 角色介绍(游戏规则)先介绍12人的标准局板子:四神(预言家,女巫,猎人,白痴),四狼,四民一般游戏流程为:1. 天黑,全体玩家闭眼。2. 狼人请睁眼,狼队请商量战术(一般最长给45s时间),狼人请杀人,狼人请闭眼。3. 预言家请睁眼,预言家请验人,预言家请闭眼。4. 女巫请睁眼,女巫昨天晚上死亡的是xx号玩家 ,是否要用药(女巫一天晚上只能使用一瓶药,且女巫使用解药以后就不能获知狼人杀人信息,如果使用了解药之后狼人晚上刀中女巫法官也不会给女巫提示是否是女巫中刀;女巫始终不能自救,即第一天晚上狼人刀中女巫后女巫只能选择使用毒药或者选择不使用药),女巫请闭眼5. 猎人请睁眼,你今天晚上的状态为 (法官每天晚上会叫醒猎人,如果猎人不幸被女巫甩中毒药,法官会给猎人一个手势表示第二天宣布死亡讯息的时候猎人不能发动技能,也不能询问法官是否能发动技能;若晚上法官没有给猎人手势则表示当晚猎人没有死亡或者被狼人杀害,第二天你可以自己选择是否发动技能,若翻牌则一定要发 ...

狼人杀节目的发展史、现有动荡以及未来的路

一眨眼狼人杀的风潮快热了两年了,从第一个节目Lyingman第一季开始——那个时候的绝大部分主播都也还是懵懂状态,对狼人杀这个游戏都还是一知半解。在那时候还是DC大魔王在场上呼风唤雨,以及跟董大师的恩怨情仇;那时候的JY、PDD、09也都还相当稚嫩。遥记得第一季第四期09预言家那局黑死病,09到结束的时候仍一脸茫然——为啥我验谁挂谁,为啥一直验不到狼。Lm第一季虽然狼人杀板块十分短暂,但也是我开始了解狼人杀的第一步,从这以后慢慢开始懂得、明白这个游戏的乐趣和玩法。很快,躺男第二季与大家见面了,虽然第二季采用了11人的板子:3神(预女猎)3狼5民或者丘比特的板子,但是11人的板子还是一样富有乐趣。第二季里少帮主的指点江山以及他的爽朗笑声;嫖弟弟的满口骚话,加上不符合他脸大小的阿飞面具,根本掩盖不住他“强烈”的味道;kk小神每次拿狼时候那掩饰不住的慌张,还有他那不怕被喷的勇猛直爽的性格,虽然有些些倔强和偏激,但是也是在属于那一季的新人里最能给别人留下印象的玩家(当然为啥会清楚记得kk小神还是有第三季的加成);另外还有半路杀出的新世界卡密——半个橙子。在第六集和第七集里面半个橙子逆天的发言强 ...

同调代数入门教材GTM 4: A Course in Homological Algebra 2nd ed.

这是本同调代数方面的入门教材,我高中的时候就是看这本教材入门同调代数的,同时期也有一位高中的朋友是看这本书学同调代数的,因此我认为这本书挺适合萌新小白入门的。需要注意的是,同调代数本身有一定的门槛,这本教材应该是几本同调代数中相对较好的一本了,即便是这本,当初我看一些部分的时候也是一知半解。这本书先从同调代数的根本代数结构——模开始讲起,接着逐步深入到范畴的定义。并没有一上来就给你抽象的定义,而是先来些具体的东西。范畴的概念非常的一般且普适,几乎所有数学领域都能应用到范畴的思想,它将数学对象抽象到只剩下它本身以及他们之间的关系,因此对于初学者而言刚开始并不太好理解。我初三的时候被范畴的概念所吸引,尝试去理解范畴的定义,最后表面上觉得自己看懂了定义,其实也只是明白个表面。学代数几何的人学习同调代数,除了可以看这本书以外,还有一份Grothendieck亲自写的note不得不看Grothendick经典同调代数文章:Some aspects of homological algebra。虽然我知道现在很多都有GTM全系列了,但我还是分享一下给有需要的人,GTM全系列上百本书,也不是每个人都 ...

Grothendieck著名求职信:一个纲领的提纲(Esquisse d'un Programme)

在之前分享EGA的帖子代数几何教皇Grothendieck经典著作:代数几何原理EGA法语原版全系列中,我说过会把Grothendieck的其他著作都分享出来,包括《一个纲领的提纲》。一个纲领的提纲,法语原标题为Esquisse d'un Programme,翻译成英文即Sketch of a Programme。这是Grothendieck于1984年提交给CNRS的求职信。 关于该信更详细的背景可见遥远的声音。在这封信中,Grothendieck提出了一个宏伟的理论——远阿贝尔几何(anabelian geometry),即考虑任意代数簇的平展基本群“远离阿贝尔”的部分。可惜Grothendieck直到最后也没能将自己的构想实现,他在该领域留下了冗长且晦涩的《伽罗华长征》(之后我会分享自己收藏的长征节选)。但是远阿贝尔几何的思想却延续了下去,其与Langlands program并列为后Grothendieck时代代数几何的几大方向之一。正是基于Grothendieck的这些思想,才有了之后望月新一在远阿贝尔几何方面的研究成果把加法与乘法结构拆掉再复原?望月新一如何引发代数几何变革 ...

Zariski交换代数经典教材Commutative Algebra系列(pdf可复制版)

Zariski的名字估计学代数几何的人都耳熟能详,先是入门时期的交换代数教材,然后就是深入研究时期随处可见的Zariski拓扑。本帖我们分享的便是著名的Zariski交换代数教材。Oscar Zariski & Pierre Samuel写的交换代数经典教材Commutative Algebra,该教材也是学习代数几何的经典入门前置教材之一,用于补充交换代数相关的前置知识。毕竟众所周知,代数几何的基础是抽象代数,尤其是交换代数,因此想要学习代数几何,就必须要有交换代数方面的扎实基础。交换代数方面的经典教材不少,包括Atiyah的那本Introduction To Commutative Algebra,那本书篇幅较小,更为简略感觉更加适合新人小白。而Zariski的Commutative Algebra则内容更加完备、更为系统性,该教材分为两本,基本上把代数几何相关的交换代数内容全都梳理了一遍。因此,Zariski的这本教材不仅可以作为初学者的交换代数入门教材,还能作为交换代数的词典用于查阅交换代数相关的知识。Zariski的这本教材,我记得当年网络上能找到的只是Commuta ...

代数几何教皇Grothendieck经典著作:代数几何原理EGA英译版全系列

在之前的帖子中代数几何教皇Grothendieck经典著作:代数几何原理EGA法语原版全系列(1),我分享了Grothendieck经典的EGA法语原本全系列。当时就有人反应说想要英译版,不是中文也行。之后在Grothendieck经典著作:代数几何原理EGA 1(1971第二版)法语+英译中,我分享了EGA 1第二版的法语版和英译版,后来发现,该英译版其实是EGA全系列的不完整英译版。现在EGA全系列完整的英译版终于来啦😇!如今好几年过去了,我发现EGA的英译版也翻译完整了。怀着激动的心情,我马上将大家期待已久的(包括我)EGA完整英译版分享出来😀。PS:附件就只有一个pdf版,大小接近3MB,确定是EGA完整版英译。不得不说用Latex重写一遍EGA居然这么轻量级,我还以为至少得几十MB呢。更新:这个英译版虽然涵盖了全系列,但是还是有部分内容缺失没反应完。感谢评论区的纠正,我其实没怎么看过英译版,都是直接看法语的😂。法语跟英语其实还是很像的,而且数学法语会比较简单,如果你英语比较熟练,完全可以依葫芦画瓢的学法语。更新:作者不再提供文件下载。。

Loring W Tu微分几何经典入门教材:An Introduction to Manifolds

Loring W Tu的微分几何入门教材An Introduction to Manifolds,中译名为《流形导论》。这本教材十分适合对微分几何感兴趣的萌新小白作为入门教材,想当年高二的时候,我就是因为看Jürgen Jost的Riemannian Geometry and Analysis看不懂,转而看Loring W Tu的An Introduction to Manifolds补充基础。Loring W Tu的书可以说非常对我胃口,这本书首先内容完备,把微分几何所有重要的基础概念给你讲一遍,而且语言简洁明了、思路清晰、通俗易懂。初三到高中时期,我看过不少微分几何的教材,包括陈省身的《微分几何讲义》,最后还是Loring W Tu的An Introduction to Manifolds让我真正学懂了微分几何😄。本教材从最基础的欧几里得空间光滑函数开始讲起,并不需要太多的前置知识即可开啃😁,只需要有大学本科数分高代的一些基础即可。而且其中的数学英文也并不需要太高的水平,因此也适合初步开始读英文文献的小白用于锻炼自己的英文数学阅读能力。Loring W Tu除了这本流形导论,还有一 ...

Atiyah交换代数经典入门教材:Introduction to Commutative Algebra

在上帖中,我分享了Zariski的交换代数教材:Zariski交换代数经典教材Commutative Algebra系列(pdf可复制版)。其实交换代数方面,除了Zariski的教材,还有Atiyah的Introduction to Commutative Algebra,以及Matsumura的Commutative Ring Theory可以作为交换代数的入门教材。Atiyah的教材是这三本教材中最简单的,Zariski的教材虽然很完备,但是篇幅过长,而且内容太过经典了,没有Atiyah的教材那样更加贴近新时代。而Matsumura的教材篇幅要比Atiyah的长一些,而且似乎感觉Atiyah的表达更加通俗易懂一些,毕竟Atiyah是众所周知的大师级人物。下面我们来回忆一下Atiyah的一些人物轶事。Atiyah作为与Serre齐名的伟大数学家,他最著名的工作即是与辛格一起证明了指标定理(Atiyah-Singer Index Theorem)。而Atiyah也与Grothendieck关系匪浅,见下图😁而Atiyah对物理也同样非常感兴趣,他与很多物理学家合作研究过,包括知名的唯一 ...

Matsumura交换代数入门教材:Commutative Ring Theory

在前面两帖Zariski交换代数经典教材Commutative Algebra系列(pdf可复制版)和 Atiyah交换代数经典入门教材:Introduction to Commutative Algebra 中,我分享了Zariski和Atiyah的交换代数教材。在本帖中,我把Matsumura的教材也分享出来。在这里我重新回顾一下这三本教材的区别。首先,Zariski的教材很完备,但是篇幅过长,而且内容太过经典了,没有另外两本那么与时俱进。因此Zariski的教材更加适合作为交换代数的词典用于查阅。当然如果你不需要按部就班从头到尾的看完一本书,Zariski的教材选择性的跳着看,完全可以作为入门教材。我高中的时候就是看Zariski的教材的。Atiyah的教材是这三本教材中最简单的,也是篇幅最短的。而Matsumura的教材篇幅要比Atiyah的长一些,并且Matsumura的教材有一些Atiyah中没有的概念,因此也值得一读,不过Atiyah教材的表达要更加通俗易懂一些。因此,我的建议是三本教材都读一读,但没必要全部看完,把需要掌握的基础概念都掌握了就行。读文献时有些术语找不到, ...