Mysql “我犯了错误”;不支持的查找';icontains';对于CharField或不允许在field上加入;

Mysql “我犯了错误”;不支持的查找';icontains';对于CharField或不允许在field上加入;,mysql,django,python-3.x,Mysql,Django,Python 3.x,我尝试进行动态查询以获取数据,如下所示: query = request.GET.get('q') kwargs = { '{0}__{1} '.format('first_name','icontains'):query} if query: players_list = players_list.filter(Q(**kwargs)).distinct() 然后我得到了这个错误: 不允许在字段上查找CharField或join的不支持的“icontains” 如果我换了这条线 kw

我尝试进行动态查询以获取数据,如下所示:

query = request.GET.get('q')
kwargs = { '{0}__{1} '.format('first_name','icontains'):query}
if query:
    players_list = players_list.filter(Q(**kwargs)).distinct()
然后我得到了这个错误:

不允许在字段上查找CharField或join的不支持的“icontains”

如果我换了这条线
kwargs={{0}{1}'。格式('first_name','icontains'):query}

用这个

kwargs = { 'first_name__icontains':query}
我没有错
有人能告诉我他们之间有什么区别吗

在结束报价前有一个空格;删除它。

我犯了这个错误。事实证明,我有两次“icontains”查找,一次是显式的,另一次是附加到每个字段的。删除第二个查找修复了该问题