Django поиск, при котором значение базы данных частично равно значению поиска

value_in_database = 'Computer Solutions'
search_value = 'Solutions'

Я знаю, что если у меня есть значения, подобные приведенным выше, я могу найти свой объект следующим образом:

model.objects.filter(name__icontains=search_value)

Но мне интересно, возможно ли обратное в Django?

value_in_database = 'Solutions'
search_value = 'Computer Solutions'

model.objects.filter(name=search_value)

Вы можете попробовать это решение и получите все модели, в названии которых присутствует "Компьютер" или "Решения":

import operator
from django.db.models import Q
from functools import reduce

search_value = 'Computer Solutions'
model.objects.filter(reduce(operator.or_, (Q(name__icontains=x) for x in search_value.split(" "))))
Вернуться на верх