首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django:忽略queryset中特定查询的空格

Django:忽略queryset中特定查询的空格
EN

Stack Overflow用户
提问于 2019-01-03 15:26:22
回答 1查看 1.4K关注 0票数 0

输入: OFG 5T4 WR4 2-3不给出任何结果的g5t4w42-3。

然而,这就是如何将ticket_reference保存在我的数据库中,而我在输入中看到的票据上显示它,以使它更容易阅读。我是否可以将ticket_reference__icontains替换为用于ticket_reference查询的“忽略”空间的任何其他“筛选器”。

代码语言:javascript
复制
def queryset(self, queryset):
    cleaned_data = self.cleaned_data

    # Search
    search = cleaned_data.get('search')
    if search:
        queryset = queryset.filter(
            Q(company_name__icontains=search) |
            Q(first_name__icontains=search) |
            Q(last_name__icontains=search) |
            Q(email__icontains=search) |
            Q(ticket_reference__icontains=search)
        )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-03 15:39:51

您可以像这样删除空格:

代码语言:javascript
复制
def queryset(self, queryset):
    cleaned_data = self.cleaned_data

    # Search
    search = cleaned_data.get('search')
    if search:
        queryset = queryset.filter(
            Q(company_name__icontains=search) |
            Q(first_name__icontains=search) |
            Q(last_name__icontains=search) |
            Q(email__icontains=search) |
            Q(ticket_reference__icontains=search.replace(" ", "")
        )

请注意,这仍然是相当有限的,例如,搜索"John“将找不到first_name= "John”、last_name="Doe“的条目(因为first_name和last_name都不包含”John“)。

如果您正在使用PostgreSQL,我建议查看全文搜索上的Django文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54025223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档