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(" "))))