django - 在 Django 'contains' 查询中包含通配符 (%)
问题描述
根据 Django 文档
Entry.objects.get(headline__contains='Lennon')
大致翻译成这个 SQL:
SELECT ... WHERE headline LIKE '%Lennon%';
但是,如果我想做这样的事情(删除通配符):
SELECT ... WHERE headline LIKE '%Lennon';
Django 查询会是什么?
解决方案
您正在查找的部分字段查找的关键字是startswith
和endswith
:
Entry.objects.filter(headline__startswith='Lennon')
Entry.objects.filter(headline__endswith='Lennon')
您还可以使用不区分大小写的变体,istartswith
并且iendswith
:
Entry.objects.filter(headline__istartswith='lennon')
Entry.objects.filter(headline__iendswith='lennon')
推荐阅读
- python - 模型训练/测试的成对比较 - 如何调整参数?
- widget - 如何让 panel.widgets.MultiSelect 的选项依赖于其他小部件输入
- mysql - 如何在mysql 5.7中将数组转换为行
- html - Swiper JS如何让进度条和阵营分页同时工作?
- rest - 如何实施 CyberSource REST 3D Secure
- android - 无法保存图像并在我的画廊中查看
- .net - 将我的 API 与 PowerApps 连接,但以非高级的标准方式
- javascript - React.js 材料表只编辑单个单元格
- javascript - 我的小脚本中未捕获的 ReferenceError
- vue.js - 使用 API 中的异步数据初始化 Vue 公式