我想在同一页上显示这两个查询的所有结果并按日期排序。目标是将这两个结果混合起来,只显示按日期排序的唯一列表。

articles = Articles.objects.all()

statut = Statut.objects.all()

我有这个想法,但我不知道:
articles = list(Articles.objects.all())

statut = list(Statut.objects.all())

all = articles + statut

所以我有一个独特的列表,它正在工作。它显示所有结果。
现在我想知道如何为模板呈现按日期排序?
有没有更简单的方法呢?
谢谢你

最佳答案

您可以尝试将chain2个查询集放在一起,并将sorted应用于它们:

from itertools import chain
from operator import attrgetter

articles = list(Articles.objects.all())

statut = list(Statut.objects.all())

result_list = sorted(
    chain(articles, statut),
    key=attrgetter('date_created')) # date_created name may differ

10-07 16:36