使用django的objects.filter()方法匹配多个关键字的方法


Posted in Python onJuly 18, 2019

介绍:

今天在使用django的时候忽然想用到,如何匹配多个关键字的操作,我们知道django有一个objects.filter()方法,我们可以通过如下一句代码实现匹配数据库中title包含key关键词的文章名称。

table.objects.filter(title__contains=key)

问题:

但是我的需求是我不仅仅只需要匹配出一个关键字的文章而是多个关键字的文章,那么我们该如何使用django的objects.filter()?

table.objects.filter(title__contains=key1)+.objects.filter(title__contains=key2)+....?

解决:

我们都知道在正常的sql语句中如果我们需要匹配多个关键字的title可以这样做

select title from data where title regexp 'key1|key2'
select title from data where title like '%key1%' or like '%key2%'

以上的两种sql语句都是选择出title属性中存在key1和key2的所有文章,那么django是不是也会有一种方法匹配多个关键字呢?当然有就是下面的代码

from django.db.models import Q
table.object.filter(Q(title__startswith='key1') | Q(title__startswith='key2'))

首先导入django的Q方法然后在filter中添加对应的匹配即可

以上这篇使用django的objects.filter()方法匹配多个关键字的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现批量获取指定文件夹下的所有文件的厂商信息
Sep 28 Python
Windows8下安装Python的BeautifulSoup
Jan 22 Python
举例讲解Python中的死锁、可重入锁和互斥锁
Nov 05 Python
利用python程序帮大家清理windows垃圾
Jan 15 Python
python3的数据类型及数据类型转换实例详解
Aug 20 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
Nov 19 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
Apr 22 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
May 10 Python
Python模拟伯努利试验和二项分布代码实例
May 27 Python
Django跨域请求原理及实现代码
Nov 14 Python
MoviePy简介及Python视频剪辑自动化
Dec 18 Python
tensorboard 可视化之localhost:6006不显示的解决方案
May 22 Python
Django基础三之视图函数的使用方法
Jul 18 #Python
详解python实现小波变换的一个简单例子
Jul 18 #Python
Django基础知识 URL路由系统详解
Jul 18 #Python
对Django项目中的ORM映射与模糊查询的使用详解
Jul 18 #Python
Django基础知识 web框架的本质详解
Jul 18 #Python
django 使用全局搜索功能的实例详解
Jul 18 #Python
Django中Middleware中的函数详解
Jul 18 #Python
You might like
Yii核心组件AssetManager原理分析
2014/12/02 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
JavaScript中常见陷阱小结
2010/04/27 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
Javascript基础知识(二)事件
2014/09/29 Javascript
jQuery后代选择器用法实例
2014/12/23 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
jquery判断当前浏览器的实现代码
2015/11/07 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
JavaScript表单焦点自动切换代码
2016/07/24 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
详解vscode中vue代码颜色插件
2018/10/11 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
python pandas 对时间序列文件处理的实例
2018/06/22 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
2019/10/30 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
解决keras backend 越跑越慢问题
2020/06/18 Python
html5中canvas学习笔记2-判断浏览器是否支持canvas
2013/01/06 HTML / CSS
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
财经学院自荐信范文
2014/02/02 职场文书
发展部经理职责规定
2014/02/22 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
如何用python识别滑块验证码中的缺口
2021/04/01 Python
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python
Python基础学习之奇异的GUI对话框
2021/05/27 Python
《堡垒之夜》联动《刺客信条》 4月7日正式上线
2022/04/06 其他游戏