迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Django 中按降序过滤查询集中的项目

作者:迹忆客 最近更新:2023/05/04 浏览次数:

在本教程中,我们将学习如何使用 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>]>

现在,我们只有降序排列的查询集的三个项目。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Django 中的 Slug

发布时间:2023/05/04 浏览次数:173 分类:Python

本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。

Django ALLOWED_HOSTS 介绍

发布时间:2023/05/04 浏览次数:181 分类:Python

本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。

Django 中的 Select_related 方法

发布时间:2023/05/04 浏览次数:129 分类:Python

本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。

在 Django 中上传媒体文件

发布时间:2023/05/04 浏览次数:198 分类:Python

在本文中,我们简要介绍了媒体文件以及如何在 Django 项目中操作媒体文件。

Django 返回 JSON

发布时间:2023/05/04 浏览次数:106 分类:Python

在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。

在 Django 中创建对象

发布时间:2023/05/04 浏览次数:59 分类:Python

本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。

在 Django 中为多项选择创建字段

发布时间:2023/05/04 浏览次数:75 分类:Python

在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。

避免在 Django 中创建重复对象

发布时间:2023/05/04 浏览次数:71 分类:Python

本文的主要目的是了解 Django 中的 get_or_create() 方法。 它是一种用于避免查询集中出现冗余字段的方法。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便