【问题标题】:Django: filter query using database functionDjango:使用数据库功能过滤查询
【发布时间】:2015-01-27 20:59:17
【问题描述】:

我的 postgres 数据库中有一个 unnaccent_string 函数,如下所述: comparing strings in PostgreSQL

这样

unnaccent_string(órfão) == 'orfao'

是否可以构建一个 Django QuerySet 来让我执行Person.objects.filter(unnaccent_string(name)__icontains='joao') 之类的操作?

【问题讨论】:

    标签: python django django-models


    【解决方案1】:

    使用查询集的extra() 方法:

    Person.objects.extra(where=['unnaccent_string(name) LIKE %s'),
                         params=['%joao%'])
    

    【讨论】:

    • 嘿托尼!我建议您将此选项包装在自定义管理器中,以避免每次都传递这么多参数。
    猜你喜欢
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2013-08-19
    • 2013-12-13
    • 2019-05-07
    • 2017-02-13
    • 1970-01-01
    相关资源
    最近更新 更多