【问题标题】:Django filter to return results that start with the entered queryDjango过滤器返回以输入查询开头的结果
【发布时间】:2014-10-11 01:10:36
【问题描述】:

我对从 django 查询集返回的结果有疑问。

我有一个表 Classified,我根据输入查询 q 在其上执行搜索操作,如下所示:

def search(request):
    q = request.get['query']
    result = Classified.objects.filter(Q(name__icontains=q) | Q(category__icontains=q))
    return render_to_response('search.html', {'result':result}, request)

现在例如说Classified.name 包含AmityAmbulanceCamdenCameroon。如果我输入am 作为我的查询,根据上面的过滤器,它将返回前面提到的所有四个条目。

我的问题是,我如何让它只返回 AmityAmbulance 作为结果,因为这是我的要求,而且它使我的搜索页面更加注重结果。

【问题讨论】:

    标签: python django django-queryset


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      做你正在做的事,但使用 istartswith 而不是 icontains

      https://docs.djangoproject.com/en/dev/ref/models/querysets/#istartswith

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-08
        • 2016-12-21
        • 1970-01-01
        • 1970-01-01
        • 2020-11-06
        • 2017-02-08
        • 2021-11-10
        相关资源
        最近更新 更多