迹忆客 专注技术分享

当前位置:主页 > 学无止境 >

Django OR 过滤器

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

我们将通过这个快速简单的解释来学习如何使用 OR 语句单独执行过滤器,我们还将了解如何在 Django 查询集中使用 Q 对象执行过滤器。

在此示例中,我们将使用我们创建的已添加一些数据的数据库,并向你展示它的外观。

样本数据表

我们创建一个基本示例;我们将创建一个名为 posts 的变量并将所有数据保存在该变量中。我们将运行一个过滤器,它允许我们创建一个简单的 OR 语句。

首先,我们需要选择我们想要做出 OR 语句的内容,所以让我们收集所有学生的姓名,以 austinbaldwin 开头。

我们正在使用 surname__startswith 参数并将其传递 surname 以提取以姓氏 austinbaldwin 开头的所有学生记录。

使用或提取所有学生记录

当我们运行服务器时,我们看到它返回了两个项目。

第一个代码的输出

我们已经看到了一个带有 OR 语句的基本示例,但我们可以添加另一个过滤器和更多 OR 语句。现在我们将处理另一个使用 OR 语句的示例,但这次我们使用的是 Q 对象。

这不是队列对象的详细演示,但我们会说它允许我们使用 Q 对象构建更复杂的查询。我们将向你展示一个使用 Q 对象的示例。

代码指令几乎相同,我们只是将所有内容包装在一个 Q 对象周围,在|之后运算符,我们将添加另一个 Q 对象。我们不需要再次添加 Student.objects.filter()

我们应该先写出来,然后将姓氏传递给 surname__startswith 参数。

用 or 和 q 提取所有学生记录

让我们继续运行这个查询,所以我们返回相同的结果。

第二个代码的输出

如果我们想扩展它,我们可以根据需要不断地添加到这个 OR 语句。我们添加了 not ~Q,这意味着选择除了姓氏以 baldwin 开头的所有学生。

提取所有带或不带 q 的学生记录

现在我们可以看到不再显示所有的 baldwin,因为我们定义了~,它用于从数据库中删除或不选择一个项目。

第三个代码的输出

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

本文地址:

相关文章

Python 中的第一类函数

发布时间:2023/04/25 浏览次数:113 分类:Python

第一类函数是被语言视为对象或变量的函数。 我们可以将它们分配给变量或将它们作为对象传递给其他函数。Python 支持第一类函数的功能。

Python 函数参数类型

发布时间:2023/04/25 浏览次数:140 分类:Python

在这篇 Python 文章中,我们将学习 Python 中使用的函数参数类型。 我们还将学习如何编写不带参数的 Python 函数。

Python 生成器中的 send 函数

发布时间:2023/04/25 浏览次数:111 分类:Python

本教程将介绍如何在 Python 中使用生成器的 send() 函数。我们可以创建一个像迭代器一样运行的函数,并且可以通过 Python 生成器函数在 for 循环中使用。

Python Functools 偏函数

发布时间:2023/04/25 浏览次数:80 分类:Python

本文介绍了我们如何使用分部函数,该函数随 functools 库一起提供,并附有示例。 这显示了调用时如何传递属性和部分函数。

Python main() 函数中的参数

发布时间:2023/04/25 浏览次数:157 分类:Python

在本教程结束时,我们应该了解Python 中在 main() 中使用参数是否是一种好的做法。

Python 中的内置 identity 函数

发布时间:2023/04/25 浏览次数:88 分类:Python

identity 函数只是一个返回其参数的函数。 当我们定义一个恒等函数并赋值时,它会返回该值。在本教程结束时,我们将了解 Python 是否具有内置的 identity 函数。

在 Python 中拟合阶跃函数

发布时间:2023/04/25 浏览次数:177 分类:Python

阶跃函数是带有看起来像一系列步骤的图形的方法。 它们由一系列中间有间隔的水平线段组成,也可以称为阶梯函数。本文给出了阶跃函数的简单演示。

在 Python 中创建双向链表

发布时间:2023/04/25 浏览次数:54 分类:Python

双向链表是指由称为节点的顺序链接的记录集组成的链接数据结构。 每个节点包含一个前一个指针、一个下一个指针和一个数据字段。

将 Python 类对象序列化为 JSON

发布时间:2023/04/25 浏览次数:152 分类:Python

本教程介绍序列化过程。 它还说明了我们如何使用 toJSON() 方法使 JSON 类可序列化,并包装 JSON 以转储到其类中。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便