【问题标题】:search fields django admin with uppercase/lowercase使用大写/小写搜索字段 django admin
【发布时间】:2022-01-16 06:53:01
【问题描述】:

在我的 Django 管理应用程序中,我在 admin.py 中有此代码:

search_fields = ["app_product_mapping", "id", "app__app_name", "product__product_name"]

我注意到搜索字段对大写和小写都很敏感,我想让它对所有内容都敏感。

我该怎么做? TNX!

【问题讨论】:

  • 你想成为case-insensitive 吗?
  • 是的。例如:如果我写 'rem' 或 'rEm' -> 我想查看 'Rem' 结果

标签: django django-admin django-admin-filters


【解决方案1】:

搜索已经是case-insensitive

当有人在管理员搜索框中进行搜索时,Django 将搜索查询拆分为单词并返回包含每个单词的所有对象,不区分大小写(使用 icontains 查找),其中每个单词必须在至少一个 search_fields 中。例如,如果 search_fields 设置为 ['first_name', 'last_name'] 并且用户搜索 john lennon,Django 将执行此 SQL WHERE 子句:

WHERE (first_name ILIKE '%john%' OR last_name ILIKE '%john%')
AND (first_name ILIKE '%lennon%' OR last_name ILIKE '%lennon%')

【讨论】:

  • Tnx 供您发表评论。那我该如何处理呢?
【解决方案2】:

问题已解决 - 我在我的数据库中将排序规则类型更改为“utf16_unicode_520_ci”,它可以正常工作!

【讨论】:

    猜你喜欢
    • 2010-10-28
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    相关资源
    最近更新 更多