问题描述
我正在尝试使用__regex
字段查找来过滤我的记录。在我开始使用unicode property
组(\p{whatever}
)或letter
组(\p{L}
)之前,它一直工作正常。我正在使用的数据库-Postgresql。我得到的代码如下:
f1 = Q(field__regex=r'[^\d\p{L}]anystr[^\d\p{L}]')
f2 = Q(field__regex=r'[^\d\p{L}]strany[^\d\p{L}]')
MyModel.objects.filter(f1 | f2)
django.db.utils.DataError:无效的正则表达式:无效的转义\序列
我试图进行更深入的研究,未发现可能导致python代码出现问题的任何内容。最后一个例外是:django\db\backends\utils.py",line 86,in _execute
,所以,我在此处放置了pdb
。有2个变量,sql
和params
。
('[^\\d\\p{L}]anystr[^\\d\\p{L}]','[^\\d\\p{L}]strany[^\\d\\p{L}]')
1行之后,再次抛出上述异常。
但是,如果我粘贴Q
的生成值之一来搜索数据库本身,则不会看到错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)