网络编程
位置:首页>> 网络编程>> Python编程>> 使用django的objects.filter()方法匹配多个关键字的方法

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

作者:成为CTO  发布时间:2022-04-08 06:11:20 

标签: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中添加对应的匹配即可

来源:https://blog.csdn.net/m0_43432638/article/details/89853351

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com