0

我有两个模型,报价和发布。我想要两个将此发送到我的模板:

posts = Post.objects.order_by("-submitted_time")
quotes = Quote.objects.order_by("-submitted_time")

thing = posts + quotes

但有些两个QuerySet 不支持。如何将帖子和报价发送到模板?

假设我在数据库中有两个 Post 和两个 Quote,如下所示:

   post 1        submitted_time:2010/2/12
   post 2        submitted_time:2010/2/8 
   quote 1       submitted_time:2010/2/9
   quote 2       submitted_time:2010/2/13

我想发送一个类似的列表[quote2, post1, quote1, post2]

4

1 回答 1

2

你可以做:

from itertools import chain
thing = list(chain(posts, quotes))

要以您想要的方式订购它:

import operator
from itertools import chain

thing = list(chain(posts, quotes))
thing = sorted(thing, key=operator.attrgetter('submitted_time', reverse=True)

或者

thing = sorted(thing, key=operator.attrgetter('submitted_time')

取决于你想要的

于 2013-06-13T20:01:10.990 回答