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

2024-09-29 01:35:20 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我想按addedtime字段合并和排序。他们都有这个场地。。在

我该怎么做?在

|仅当我有两个来自同一模型的查询时才有效。但我这里有两种不同的型号。。在


Tags: 模型byobjects排序order型号secondmodeladdedtime
2条回答

我想这能帮到你

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

你会做一些类似的事情:

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

相关问题 更多 >