Python 在Django中对列表排序

Python 在Django中对列表排序,python,django,sorting,Python,Django,Sorting,我必须在Django sport应用程序中显示比赛列表。我已经定义了一个函数来列出所有匹配项。 每一个匹配都是一个DateTime real_start,我想按该日期对它们进行排序 这是我的匹配项列表: matches = Match.live_matches.all() 我试过了 matches.sortkey=lambda x:x.real\u start,reverse=True 但它不起作用 欢迎任何帮助。谢谢 试试这个: sort(matches, key=lambda x:

我必须在Django sport应用程序中显示比赛列表。我已经定义了一个函数来列出所有匹配项。 每一个匹配都是一个DateTime real_start,我想按该日期对它们进行排序

这是我的匹配项列表:

    matches = Match.live_matches.all()
我试过了 matches.sortkey=lambda x:x.real\u start,reverse=True

但它不起作用

欢迎任何帮助。谢谢

试试这个:

sort(matches, key=lambda x: x.real_start, reverse=True)
也许可以看一看这个房间


您可以在live_matches函数中使用此选项,如果您在日期字段上排序,则无需使用lambdas

排序是一种就地方法,我认为您的意思是sortedmatches,key=lambda x:x.real_start,reverse=TrueThank。我试过了,没有错误了。但它不起作用。它不会对匹配项进行排序。好的,我尝试创建一个新列表:matchess=sortedmatches,key=lambda x:x.real\u start,reverse=True,它可以找到。非常感谢。现在我想反转此排序,因为它首先显示与最早日期时间的匹配。你知道怎么做吗?matchess.reverse,它很好用。感谢您的帮助。这不是一个匹配列表,而是一个可以使用Django的QuerySet API按照@Samuele Mattiuzzo的建议进行排序的匹配查询集。或者,您可以使用sort或排序为@Dogbert metntionedMatch.live\u matches.all.order\u by'-real\u start'对列表、查询集和其他类型的iterables进行排序
Match.objects.date('real_start', 'day', order='DESC')