web-dev-qa-db-fra.com

sql "LIKE" équivalent dans Django query

Quel est l'équivalent de cette instruction SQL dans Django?

SELECT * FROM table_name WHERE string LIKE pattern;

Comment puis-je implémenter cela dans Django? j'ai essayé

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

Mais ça n'a pas marché. Comment puis-je mettre en œuvre cela?

88
Aswin Murugesh

Utilisation __contains ou __icontains (insensible à la casse):

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

contient et icontains mentionnés par falsetru font des requêtes comme SELECT ... WHERE headline LIKE '%pattern%

Avec eux, vous pourriez avoir besoin de comportements similaires: startswith , istartswith , endswith , iendswith

fabrication

SELECT ... WHERE headline LIKE 'pattern%

ou

SELECT ... WHERE headline LIKE '%pattern

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

Recherche insensible à la casse d'une chaîne dans un champ.

8
Venkat Kotra