web-dev-qa-db-ja.com

Djangoクエリで同等のsql "LIKE"

DjangoのこのSQL文と同等のものは何ですか?

SELECT * FROM table_name WHERE string LIKE pattern;

これをdjangoに実装するにはどうすればよいですか?私は試した

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

しかし、それはうまくいきませんでした。これをどのように実装しますか?

88
Aswin Murugesh

__contains または __icontains (大文字と小文字を区別しない)を使用します。

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

falsetruで言及されているアイコンとアイコンがSELECT ... WHERE headline LIKE '%pattern%のようなクエリを作成します

それらに加えて、これらと同様の動作を必要とする場合があります: startswithistartswithendswithiendswith

作る

SELECT ... WHERE headline LIKE 'pattern%

または

SELECT ... WHERE headline LIKE '%pattern

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

フィールド内の文字列の大文字と小文字を区別しない検索。

8
Venkat Kotra