Как я могу использовать фильтр модели Django для запроса объектов из моей базы данных, если в строке присутствует имя поля - PullRequest
0 голосов
/ 01 октября 2019

Как я могу использовать запрос django для объектов, проверив, присутствует ли его имя поля в строке, используя objects.filter (). Например, если бы я хотел фильтровать, используя имя поля с именем «Foo», если оно было в строке «Foo Bar». Я пробовал следующую строку, но, конечно, она не работает:

# name = Foo
obj.objects.filter(name__in='Foo Bar') # Empty Query list

1 Ответ

0 голосов
/ 01 октября 2019

Вы можете найти все подстроки и использовать in:

from itertools import combinations

my_str = 'Foo Bar'
substrings = [my_str[x:y] for x, y in combinations(range(len(my_str) + 1), r = 2)]
obj.objects.filter(name__in=substrings)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...