Django中的MySQL模糊查询

MySQL的模糊查询,包含普通的跟外键之间的模糊查询

1,小唠叨

当需要到大量信息中查找某一条信息时,逐个去找显得很麻烦,于是我们采用模糊查询来提高效率。虽然不想搜索引擎一样快,准。但也提高了不少效率。下篇再记录下关于搜索引擎的使用,以及中文分词的操作

2,首先,回顾下*MySQL语句进行模糊查询是怎么样的。*

假设现在又个数据库的表格名为test

查询test表中name中含有‘*’且hobby中含有‘**’的数据
select * from test where name like "*" and hobby like ‘**’;

MySQL中使用的是like关键字。

3,Django中模糊查询

1.django 用a|b来实现 sql中 where a or b 功能

*2.Name__contains=“* ” 这句的意思是 在 sql 中 like ‘*’

3.如果filter()函数中有逗号,是代表 AND 的意思

4,如果有外键怎么办?假设存在:

red 对应外键color
red= models.ForeignKey("color")

color中有字段:color_desc
color_desc = models.CharField(max_length=10)

如果需要通过red所在表查询color中color_desc是否含有某内容。即可使用此语句:

Class.objects.filter(red__id__color_desc__contains = "*")

。网上很多说使用Q()的,我觉得那都是以前的旧版本了。现在用不了了。亲测这个可用。

猜你喜欢

转载自blog.csdn.net/weixin_39378885/article/details/79902543
今日推荐