当前位置: 首页 > 面试题库 >

排序查询集的好方法?-Django

怀展
2023-03-14
问题内容

我想做的是这样的:

获得得分最高的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(*字段)

默认情况下,a返回的结果由模型的Meta中QuerySet的ordering选项给出的排序元组排序。你可以使用order_by方法基于每个QuerySet重写此方法。

例:

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

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



 类似资料:
  • 数学成绩从高到低排序 const { field = '' } = ctx.query const fields = ctx.helper.filterFields(field) // 数学成绩从高到低排序 const ret = await Student.findAll({ attributes: fields, order: [ ['math', 'DESC

  • 本文档描述了QuerySet API的详细信息。它建立在模型和数据库查询指南的基础上,所以在阅读本文档之前,你也许需要首先阅读这两部分的文档。 本文档将通篇使用在数据库查询指南中用到的Weblog 模型的例子。 何时对查询集求值(要写到程序里的字段麻烦不要自作聪明翻译谢谢) 在内部,可以创建、过滤、切片和传递查询集而不用真实操作数据库。在你对查询集做求值之前,不会发生任何实际的数据库操作。 你可以

  • 查询结果的排序 当发送查询命令到ElasticSearch中,返回的文档集合默认会按照计算出来的文档打分排序(已经在本章的 Lucene的默认打分算法 一节中讲到)。这通常是用户希望的:结果集中的第一个文档就是查询命令想要的文档。然而,有的时候我们希望改变这种排序。这很简单,因为我们已经用过了单个字符串类型的数据。让我们看如下的样例: { "query" : { "terms" : { "t

  • 我已经包括了一些链接与我们的方法,以其他答案,似乎是最优化的在网络上现在。 我们的记录需要分类(例如“恐怖”、“惊悚”、“电视”),并且可以在特定类别和所有/某些类别中随机访问。我们一般一次需要访问20-100个项目左右。我们也有少量的类别(不到100个)。 我们写入数据库来上传/移除内容,尽管这是成批完成的,不需要是实时的。 我们用两种不同的数据结构尝试了两种不同的方法。 AWS DynamoD

  • 问题内容: 我对mongodb相当陌生,并且在尝试进行有序mongodb查询时。但是不推荐使用spring数据mongodb的sort方法。所以我用了: 我使用了此代码块。但是它没有对数据进行排序。那么,您可以选择使用任何有用的方法进行此练习吗? 问题答案: 您可以通过这种方式定义排序以忽略大小写:

  • 主要内容:按子列排序,按索引排序,按值排序Firebase提供了多种排序数据的方式。 在本章中,我们将学习简单的查询示例。 这里将使用前面章节中的相同数据。数据记录如下所示 - 按子列排序 要按列排序数据,可以使用下面的代码。 示例 让我们来看看下面的例子。 执行上面示例代码,得到以下结果 - 按索引排序 我们可以通过类似的方式:按索引键来排序数据。 示例 让我们看看下面的一个例子。 执行上面示例代码,得到以下结果 - 按值排序 我们也可