gpt4 book ai didi

python - 对查询集进行排序的好方法? - Django

转载 作者:IT老高 更新时间:2023-10-28 21:08:10 26 4
gpt4 key购买 nike

我想要做的是:

  • 获取得分最高的 30 位作者(Author.objects.order_by('-score')[:30])

  • last_name

  • 对作者排序

有什么建议吗?

最佳答案

怎么样

import operator

auths = Author.objects.order_by('-score')[:30]
ordered = sorted(auths, key=operator.attrgetter('last_name'))

在 Django 1.4 及更新版本中,您可以通过提供多个字段来进行排序。
引用:https://docs.djangoproject.com/en/dev/ref/models/querysets/#order-by

order_by(*fields)

默认情况下,QuerySet 返回的结果按照模型 Meta 中 ordering 选项给出的排序元组排序。您可以使用 order_by 方法在每个 QuerySet 的基础上覆盖它。

示例:

ordered_authors = Author.objects.order_by('-score', 'last_name')[:30]

上述结果将按 score 降序排列,然后按 last_name 升序排列。 "-score"前面的负号表示降序。隐含升序。

关于python - 对查询集进行排序的好方法? - Django ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2412770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com