我遇到与django queryset返回的结果有关的问题。
我有一个表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
包含Amity
,Ambulance
,Camden
,Cameroon
。如果我输入am
作为我的查询,根据上面的过滤器,它将返回前面提到的所有四个条目。
我的问题是,如何让它仅返回Amity
和Ambulance
作为结果,因为这是我的要求,而且它使我的搜索页面更加注重结果。
答案 0 :(得分:2)
完全按照你所做的去做但使用istartswith而不是icontains
https://docs.djangoproject.com/en/dev/ref/models/querysets/#istartswith
答案 1 :(得分:1)
我认为istartswith
过滤器可以帮助您https://docs.djangoproject.com/en/dev/ref/models/querysets/#std:fieldlookup-istartswith