[英]Django SearchVector
Django SearchVector is giving ok results in command line but it is not working on my localhost:8000. Django SearchVector 在命令行中给出了正常的结果,但它在我的 localhost:8000 上不起作用。 Here's how I put it.
我是这样说的。
def post_search(request):
form = SearchForm()
query = None
results = []
if 'query' in request.GET:
form = SearchForm(request.GET)
if form.is_valid():
query= form.cleaned_data['query']
results = Post.objects.annotate(search=SearchVector('title', 'body',
'slug')).filter(search='query')
context = {
'form' : form,
'query' : query,
'results' : results }
return render(request, 'blog/search.html', context)
You need to pass the query
, not the 'query'
string:您需要传递
query
,而不是'query'
字符串:
def post_search(request):
form = SearchForm()
query = None
results = []
if 'query' in request.GET:
form = SearchForm(request.GET)
if form.is_valid():
query = form.cleaned_data['query']
results = Post.objects.annotate(
search=SearchVector('title', 'body', 'slug')
).filter(
search=query)
# query variable ↑
context = {
'form' : form,
'query' : query,
'results' : results
}
return render(request, 'blog/search.html', context)
Have you ever tried single filter quotes?你试过单过滤引号吗? Try it in this way
filter(search=query)
.以这种方式尝试
filter(search=query)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.