1. 程式人生 > >Django中的MySQL模糊查詢

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()的,我覺得那都是以前的舊版本了。現在用不了了。親測這個可用。