Skip to main content
 首页 » 编程设计

python之Django之通过排序合并两个查询集

2025年05月04日21youxin

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

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

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

我该怎么做?

| 仅当我有来自同一模型的 2 个查询时才有效。但我这里有 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