在 Django 中按降序过滤查询集中的项目
在本教程中,我们将学习如何使用 Django 中的 order_by()
方法按降序过滤出查询集中的项目。
在 Django 中使用 order_by() 方法以降序从查询集中过滤项目
order_by()
方法对您的结果进行排序。 默认顺序是我们将它们插入数据库时的顺序。
让我们看看获得默认排序是什么样子的。 首先,让我们获取所有对象。
simple.objects.all()
输出:
<QuerySet [<Simple:www.example.com>,<simple:www.baidu.com>,<www.example.com>,<www.example.com>,<google.com>,<apple.com>]>
如果我们想要不同的顺序,我们会使用 order_by()
。 我们可以使用 order_by()
而不是 all()
。
它将对所有结果进行操作。 如果我们在此之前有一个过滤器,它将首先运行,然后是 order_by()
。
现在,我们将传递一个字符串来指定要订购的内容。 例如,如果我们使用 order_by("id")
对其进行过滤,我们会得到相同的结果,因为它从最小的 id 开始并向上移动。
请参阅下面的代码。
simple.objects.order_by("id")
输出:
<QuerySet [<Simple:www.example.com>,<simple:www.baidu.com>,<www.example.com>,<example.com>,<google.com>,<apple.com>]>
我们在 id 前面使用 - 来反转它,所以它不会从最小的开始,而是从最大的 id 开始。 当我们运行它时,我们看到 www.apple.com 是我们查询集的第一项。
simple.objects.order_by("-id")
输出:
<QuerySet [<apple.com>,<google.com>,<example.com>,<www.example.com>,<simple:www.baidu.com>,<Simple:www.example.com>]>
我们还可以在其他列中使用 order_by()
。
假设我们有 url 列。 如果我们通过 url 来排序,我们可以使用下面的代码。
simple.objects.order_by("url")
输出:
<QuerySet [<apple.com>,<Simple:example.com>,<google.com>,<www.example.com>,<www.example.com>,<simple:www.baidu.com>]>
由于它是一个字符串字段,它将按字母顺序排列。 我们可以通过简单地将 - 放在前面来按降序过滤它。
在我们的查询集中,我们得到第一个项目,www.baidu.com。
simple.objects.order_by("-url")
输出:
<QuerySet [<simple:www.baidu.com>,<www.example.com>,<www.example.com>,<google.com>,<Simple:example.com>,<apple.com>]>
通常,当可能有两列可能具有准确的顺序时,我们会有多个 order_by()
。 让我们看一下数字列,它有两个 10 数字和一些不同的数字。
simple.objects.order_by("number")
输出:
<QuerySet [<apple.com>,<Simple:example.com>,<google.com>,<www.example.com>,<www.example.com>,<simple:www.baidu.com>]>
我们可以看到 apple.com 排在第一位,因为数字“2”跟在同一行后面。
如果我们想强制执行更严格的排序,我们可以将另一个选项附加到 order_by()
。 首先,我们将按号码订购,然后按网址订购。
simple.objects.order_by("number","url")
如果我们想限制结果,比如前三个,我们可以使用以下语法。
simple.objects.order_by("-id")[:3]
输出:
<QuerySet [<apple.com>,<google.com>,<example.com>]>
现在,我们只有降序排列的查询集的三个项目。
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串