按特定顺序组合两个Django查询

时间:2012-09-28 16:03:01

标签: python django append

我认为我有两个django查询。它们如下:

news = News.objects.all()[:8]
posts = Post.objects.all()[:3]

我需要按以下顺序将这两个查询组合在一起:

[news, post, news, news, news, post, news, post, news, news, news]

我很确定我必须使用lambda或做某种count,但此时我有点失落。我应该使用countappend吗?

1 个答案:

答案 0 :(得分:3)

没有

def selector(seqs, picks):
  iters = [iter(x) for x in seqs]
  for choice in picks:
    yield next(iters[choice])

print list(selector((news, post), (0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0)))