Как искать по частям введенного слова в Django и PostgreSQL

Я пишу сайт на Django и делаю систему поиска книг по их названию, и у меня есть проблема, я хочу сделать так, чтобы даже если пользователь вводит только часть названия, отображались все книги с этой частью в названии. Например: Пользователь вводит "Pyth" и получает все книги, в названии которых есть "Python"

"Pyth" -> "A Byte of Python"

Это мой вид_страницы_поиска:

def search_page_view(request):
    query = request.GET.get("q")
    search_vector = SearchVector('title')
    search_query = SearchQuery(query)
    search_rank = SearchRank(search_vector, search_query)
    search_set = Book.objects.annotate(search=search_vector, rank=search_rank).\
        filter(search=query).order_by("-rank")
    context = {'search_set': search_set}
    return render(request, 'search/search_page.html', context=context)

Но это работает только если вы вводите полное слово, например Python

Может быть, кто-то знает, как я могу добавить такую функциональность?

Вернуться на верх