Django中的MySQL模糊查詢
阿新 • • 發佈:2019-01-10
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()的,我覺得那都是以前的舊版本了。現在用不了了。親測這個可用。