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

vkr*_*ams 3 sql django sql-like

我有一个原始的SQL查询,它总是在执行时给出错误.这是我的查询

Users.objects.raw('select target, username from users where location like \'%s%%\' and date(modified) = \'2011-06-14\'',[location])
Run Code Online (Sandbox Code Playgroud)

我正在接受 location = 'BUILD'

位置值为"BUILD_A","BUILD_B","BUILD_C".

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

DatabaseError:(1064,"您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'BUILD'%'和date(modified)='2011-06-14'附近使用正确的语法'在第1行")

在MySQL术语中,我需要执行以下查询:

Select target, username from users where location like 'BUILD%' and target = '2011-06-14'
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索但无法得到它.请有人帮助我

vkr*_*ams 5

我用这种方式解决了我的问题.

location = location + '%'

users_list = Users.objects.raw('select target, username from users where location like %s and date(modified) = %s',tuple([location,date]))

上面的语句执行完美,没有任何错误,我也能够在模板中呈现结果.