Django OR 过滤器
我们将通过这个快速简单的解释来学习如何使用 OR
语句单独执行过滤器,我们还将了解如何在 Django 查询集中使用 Q
对象执行过滤器。
在此示例中,我们将使用我们创建的已添加一些数据的数据库,并向你展示它的外观。
我们创建一个基本示例;我们将创建一个名为 posts
的变量并将所有数据保存在该变量中。我们将运行一个过滤器,它允许我们创建一个简单的 OR
语句。
首先,我们需要选择我们想要做出 OR
语句的内容,所以让我们收集所有学生的姓名,以 austin
或 baldwin
开头。
我们正在使用 surname__startswith
参数并将其传递 surname 以提取以姓氏 austin
和 baldwin
开头的所有学生记录。
当我们运行服务器时,我们看到它返回了两个项目。
我们已经看到了一个带有 OR
语句的基本示例,但我们可以添加另一个过滤器和更多 OR
语句。现在我们将处理另一个使用 OR
语句的示例,但这次我们使用的是 Q
对象。
这不是队列对象的详细演示,但我们会说它允许我们使用 Q
对象构建更复杂的查询。我们将向你展示一个使用 Q
对象的示例。
代码指令几乎相同,我们只是将所有内容包装在一个 Q
对象周围,在|
之后运算符,我们将添加另一个 Q
对象。我们不需要再次添加 Student.objects.filter()
。
我们应该先写出来,然后将姓氏传递给 surname__startswith
参数。
让我们继续运行这个查询,所以我们返回相同的结果。
如果我们想扩展它,我们可以根据需要不断地添加到这个 OR
语句。我们添加了 not ~Q
,这意味着选择除了姓氏以 baldwin
开头的所有学生。
现在我们可以看到不再显示所有的 baldwin
,因为我们定义了~
,它用于从数据库中删除或不选择一个项目。
相关文章
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 系列日期时间转换为字符串