it-roy-ru.com

sql "LIKE" эквивалент в запросе Django

Что эквивалентно этому SQL-выражению в django?

SELECT * FROM table_name WHERE string LIKE pattern;

Как мне реализовать это в Django? Я старался

result = table.objects.filter( pattern in string )

Но это не сработало. Как мне это реализовать?

84
Aswin Murugesh

Используйте __contains или __icontains (без учета регистра):

result = table.objects.filter(string__contains='pattern')
170
falsetru

содержит и пиктограммы, упомянутые falsetrue, делают запросы вроде SELECT ... WHERE headline LIKE '%pattern%

Наряду с ними вам могут понадобиться такие с похожим поведением: начинается с , istartswith , заканчивается с , то есть с

изготовление

SELECT ... WHERE headline LIKE 'pattern%

или же

SELECT ... WHERE headline LIKE '%pattern

25
Dmitriy Kuznetsov
result = table.objects.filter(string__icontains='pattern')

Поиск строки в поле без учета регистра.

8
Venkat Kotra