SearchVecotor не ищет поле тегов - PullRequest
0 голосов
/ 10 июля 2020

Я также пытаюсь выполнить поиск SearchVecotor в поле тегов, он работал с двумя полями, либо он не ищет поля, либо вектор поиска не работает должным образом с тремя полями.

У меня есть поле тега, которое находится в базе данных из-за taggit, я использую postgresql

функцию просмотра, которая содержит инструкции поиска

def home_page_view(request):
    posts = Post.published.all().order_by('-publish')[:5]

    # Using the search bar 
    search_form = SearchForm()
    query = None
    results = []

    if 'query' in request.GET:  
        search_form = SearchForm(request.GET)
        if search_form.is_valid():
            query = search_form.cleaned_data['query']
            
            search_vector = SearchVector('title', 'body', 'tags')
            search_query = SearchQuery(query)

            results = Post.published.annotate(
                search=search_vector,
                search_rank=SearchRank(search_vector, search_query)
            ).filter(search=query).order_by('-search_rank')

            return render(request, 'pages/page/search_results.html', {'query': query,
                                                                      'search_form': search_form,
                                                                      'results': results}
                                                                      )


    return render(request, 'pages/page/home.html', {'section': 'home',
                                                    'posts': posts,
                                                    'query': query,
                                                    'search_form': search_form,
                                                    'results': results
                                                    }
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...