Django - 通过对两个查询集进行排序来合并它们

时间:2014-03-06 01:52:49

标签: python django

我有两个模型,我这样查询:

firstq = FirstModel.objects.order_by('-addedtime')
secondq = SecondModel.objects.order_by('-addedtime')

我想按addedtime字段对它们进行合并和排序。他们都有这个领域..

我该怎么办?

仅当我有来自同一模型的2个查询时,

|才有效。但我这里有两种不同的型号..

2 个答案:

答案 0 :(得分:1)

你做的事情如下:

 from itertools import chain
 result_list = list(chain(firstq, secondq))

答案 1 :(得分:0)

我认为这可以为您提供帮助

from itertools import chain
def get_all_data():
    first = FirstModel.objects.filter()
    second = SecondModel.objects.filter()
    result_list = sorted(
        chain(first, second),
        key=lambda data: data.addedtime, reverse=True)
    return result_list