【问题标题】:Search with or without space in django filter在 django 过滤器中搜索有无空格
【发布时间】:2020-04-23 19:19:28
【问题描述】:

我有一个按姓名搜索的功能,如果搜索与姓名匹配,它应该返回一个人的姓名。我需要显示结果之间有或没有空格。例如:“A B C” 应该显示结果 A B Chacko、AB Chacko、AB Chaks 等。类似地,搜索 “ABC”一词也需要列出上述结果。

try:
    term = request.GET['term']
    if term:
            queryset_primary = PrimaryUserSerializer(UserTable.objects.filter(Q(name__icontains =term)|Q(occupation__icontains=term)).order_by('name'), many=True, context=context).data
    else:
        pass
except:
    pass

模型只有'name'字段,没有名字,姓氏

【问题讨论】:

    标签: django django-rest-framework django-filter


    【解决方案1】:

    试试这个代码,但这对性能非常不利。

        try:
            term = request.GET['term']
            if term:
                    queryset_primary = PrimaryUserSerializer(UserTable.objects.filter(Q(name__icontains =term) | Q(name__istartswith=term) | Q(name__iexact=term) | Q(name__iendswith=term) | Q(name__startswith=trm)| Q(occupation__icontains=term)).order_by('name'), many=True, context=context).data
            else:
                pass
    
    except:
        pass
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-23
      • 2014-11-29
      • 2019-03-21
      相关资源
      最近更新 更多