2011-11-29 88 views
2

在傳統的MySQL數據庫中,我有一個表的字段是一個逗號分隔值的列表:Django的等效MySQL的FIND_IN_SET()

id | field 
--------------- 
1 | 2,4,8 
2 | 1,4,15,24 

什麼是Django的相當於下面的查詢的?

SELECT * FROM `table_name` WHERE FIND_IN_SET(15, field) 

假設Django將此字段視爲常規CharField

+0

模塊將不會有任何幫助。當然,我可以做查詢(通過使用像丹尼爾建議的自定義SQL),我想知道是否有一個Django的ORM等價物。 –

+0

是啊!我正準備告訴你使用原始的SQL –

回答

5

對於東西,這是我自認爲你可extra()

例被卡住:

# Warning, MySQL specific query ahead! 
Model.objects.extra(where=['FIND_IN_SET(15, field)']) 
3

沒有一個。而且不應該有一個。這是一個特別非標準的MySQL函數,Django不關心數據庫特定的行爲。使用自定義SQL。

+0

不夠公平.... –