2011-11-29 84 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

不够公平.... –