python - 如何在过滤 Django 模型时创建 OR 条件?
问题描述
我想进行这样的查询:
Mymodel.objects.filter(description__icontains='something' or title__icontains='something')
但是使用该or
语句不起作用。加上逗号使它成为一个and
声明。我该如何解决这个问题?
解决方案
您将条件包装在Q
对象 [Django-doc]中,并使用按位或运算符 ( |
) 作为 OR:
from django.db.models import Q
Mymodel.objects.filter(
Q(description__icontains='something') |
Q(title__icontains='something')
)
推荐阅读
- android - 来自 MediaSessionCompat 的两个通知
- javascript - 如何在html中使用div作为背景
- javascript - 导入模块上当前未启用对实验语法“jsx”的支持错误
- zpl - 以 ZPL 格式打印图像时是否存在性能问题?
- c - 将所有用户输入转发到子进程中的 Linux PTY
- exoplayer - Exoplayer 通知未在真实设备上显示,但在模拟器中显示良好
- oracle - 无法使用响应文件在 19c 上创建可插拔数据库
- node.js - 带有 nodejs 和 OPOS 的手持式扫描仪
- javascript - mongodb 从一个值中获取整个文档
- php - 了解为什么在 alamofire 中使用 respondJSON 时无法从 php 脚本返回 json