使用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实现遍历数据库并获取key的值
May 17 Python
python一键升级所有pip package的方法
Jan 16 Python
Python基础教程之浅拷贝和深拷贝实例详解
Jul 15 Python
用python求一个数组的和与平均值的实现方法
Jun 29 Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 Python
Django 反向生成url实例详解
Jul 30 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
Python实现数值积分方式
Nov 20 Python
使用PyTorch实现MNIST手写体识别代码
Jan 18 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
Feb 25 Python
django 将自带的数据库sqlite3改成mysql实例
Jul 09 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
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
javascript 清除输入框中的数据
2009/04/13 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
50个比较实用jQuery代码段
2011/09/18 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
动态添加删除表格行的js实现代码
2014/02/28 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
简介JavaScript中的setTime()方法的使用
2015/06/11 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
node.js版本管理工具n无效的原理和解决方法
2016/11/24 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
2016/12/20 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
使用DataTable插件实现异步加载数据
2017/11/19 Javascript
windows下安装python paramiko模块的代码
2013/02/10 Python
Python中List.count()方法的使用教程
2015/05/20 Python
Python打印输出数组中全部元素
2018/03/13 Python
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
Python爬虫常用小技巧之设置代理IP
2018/09/13 Python
详解Python 解压缩文件
2019/04/09 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
国际领先的学术出版商:Springer
2017/01/11 全球购物
C面试题
2015/10/08 面试题
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
2014/03/05 面试题
网上开商店的创业计划书
2014/01/19 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
开学典礼决心书
2014/03/11 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书