今天小编就为大家分享一篇使用django的objects.filter()方法匹配多个关键字的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
介绍:
今天在使用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()方法匹配多个关键字的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。
- 上一篇: Django基础三之视图函数的使用方法
- 下一篇: 解决Django中多条件查询的问题