在传统的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
。
在传统的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
。
对于东西,这是我自认为你可extra()
例被卡住:
# Warning, MySQL specific query ahead!
Model.objects.extra(where=['FIND_IN_SET(15, field)'])
没有一个。而且不应该有一个。这是一个特别非标准的MySQL函数,Django不关心数据库特定的行为。使用自定义SQL。
不够公平.... –
模块将不会有任何帮助。当然,我可以做查询(通过使用像丹尼尔建议的自定义SQL),我想知道是否有一个Django的ORM等价物。 –
是啊!我正准备告诉你使用原始的SQL –