我对Q对象的查找有一个问题,但是当用户搜索多个词时,除非所有词都在同一个对象中,否则搜索不会返回任何结果。你知道吗
如果您转到https://www.soledadmemorial.com/plaques并搜索David S Hackley
,则搜索不会返回任何结果,但如果您只搜索David S
,则会得到一个结果。你知道吗
我尝试过像(Q(first_name__icontains=query), Q(last_name__icontains=query))
那样组合过滤器,但只得到一个错误。下面是我目前的代码。它不需要从多个对象组合搜索。你知道吗
...
if query:
queryset_list = queryset_list.filter(
Q(first_name__icontains=query) |
Q(last_name__icontains=query) |
Q(branch__icontains=query) |
Q(rank__icontains=query) |
Q(group__group_name__icontains=query) |
Q(veteran__name__icontains=query)
).distinct()
...
icontains作为
当你搜索大卫S时,它会发现它是你的名字。你知道吗
你没有
作为数据库中的任何列,所以icontains不会在这里这样做。你知道吗
你应该考虑使用SearchVector(postgres)甚至haystack
相关问题 更多 >
编程相关推荐