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()的,我觉得那都是以前的旧版本了。现在用不了了。亲测这个可用。