在django原始sql中使用like语句时出错

在django原始sql中使用like语句时出错,sql,django,sql-like,Sql,Django,Sql Like,我有一个原始sql查询,它在执行时总是给出错误。这是我的问题 Users.objects.raw('select target, username from users where location like \'%s%%\' and date(modified) = \'2011-06-14\'',[location]) 我正在使用location='BUILD' 位置值为“BUILD_A”、“BUILD_B”、“BUILD_C” 当我执行原始sql时,下面是我得到的错误 DatabaseE

我有一个原始sql查询,它在执行时总是给出错误。这是我的问题

Users.objects.raw('select target, username from users where location like \'%s%%\' and date(modified) = \'2011-06-14\'',[location])
我正在使用
location='BUILD'

位置值为“BUILD_A”、“BUILD_B”、“BUILD_C”

当我执行原始sql时,下面是我得到的错误

DatabaseError:(1064),“您的SQL语法有错误;请检查手册 这与您的MySQL服务器版本相对应,以便使用正确的语法 “生成“%”和日期(已修改)=“2011-06-14”在第1行)

就MySQL而言,我需要执行以下查询:

Select target, username from users where location like 'BUILD%' and target = '2011-06-14'

我在谷歌上搜索过,但没能找到它。请有人帮帮我,我用这种方法解决了我的问题

location=location+'%'

users\u list=users.objects.raw('select target,username from user,location-like%s and-date(modified)=%s',tuple([location,date]))


上面的语句执行得非常完美,没有任何错误,我也可以在模板中呈现结果。

下面的查询适合我

query=“从位置像“BUILD%”的用户中选择目标、用户名”

results=Users.objects.raw(查询)

谢谢,这是一个让LIKE和ILIKE查询在raw中工作的简单解决方案。