Django通过在第n个元素中将一个查询集中的元素添加到另一个查询集中,在两个查询集中进行合并

问题描述 投票:0回答:1

假设我的模型“电影”有几种类型:例如:动作,戏剧,幻想等...

在我的模板中,我想列出最近的50部电影(按日期排序)。这很简单,例如:

Movies.order_by('-date')[0:50]

但是,我还有一个附加要求:我想每隔其他类型的3部电影列出动作电影(按日期排序):

例如:

(0) Drama 12/3
(1) Adventure 11/3
(2) Science 10/3
**(3) Action 11/3**
(4) Sci-Fi 9/3
(5) Sci-Fi 8/3
(6) Adventure 4/3
**(7) Action 8/3**
(8) Drama
.
.
.
(50) ...

换句话说,合并两个查询集:

  1. 按除活动电影以外的所有电影的日期排序的电影。
  2. 仅按动作电影的日期排序的电影。

新查询集(或列表?)应该是第一个查询集的3个项目,而另一个查询集的1个项目。

django django-templates
1个回答
0
投票

如果有人可以提供更好的解决方案,将非常有帮助,但这是我所做的:

我将两个查询集转换为列表。然后根据我的要求使用following example code合并列表。

© www.soinside.com 2019 - 2024. All rights reserved.