Django - 通过排序合并两个查询集
我有两个模型,我是这样查询它们的:
firstq = FirstModel.objects.order_by('-addedtime')
secondq = SecondModel.objects.order_by('-addedtime')
我想把它们合并,并按照 addedtime
字段进行排序。它们都有这个字段。
我该怎么做呢?
|
只在我有两个来自同一个模型的查询时有效。但这里我有两个不同的模型。
2 个回答
4
我觉得这可能对你有帮助
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
1
你可以这样做:
from itertools import chain
result_list = list(chain(firstq, secondq))