django 搜索,其中数据库值等于搜索值的一部分

django search where database value is part equal to search value

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