Django:在unicode字符串上的icontains

时间:2017-04-26 15:27:06

标签: python django unicode django-models

我的客户问的是一些非常奇怪的东西,但这在日常操作中是有意义的。

我有一个名为Nicolás的用户,我正在使用Nicolas的名字过滤名字。

有没有办法显示结果? 谢谢!

到目前为止我的代码

    q = request.GET['q']

    q_res = Member.objects.filter(
        Q(first_name__icontains = q)|
        Q(last_name__icontains = q)
    )

1 个答案:

答案 0 :(得分:0)

您可以使用unaccent进行重音不敏感查询。这只适用于postgres,而且我相信Django 1.8+。

如果这不适用于您,则您无法直接执行此操作。一种可能的替代方法是将字符串的非重音版本存储在新字段中并按其搜索。有一个library用于从unicode获取最接近的常规字符串。