私はdjangoモデルとユーザーフルネームを表すフィールドを持っています。私のクライアントは、文字列の配列に基づいてユーザーを検索するフィルターを設定し、そのすべてが大文字と小文字を区別しないようにする必要があります。私がリストを持っているfull_name = "Keith, Thomson S."
フィルタ配列内の任意の値を含むフィールドのDjangoデータベース
、ユーザーが['keith','s','thomson']
は私が
Profile.objects.filter(full_name__icontains='keith',full_name__icontains='s',full_name__icontains='thomson')
問題のフィルタと同等を実行する場合
例えばは、このリストが可能ですダイナミックなサイズの - 私はこれを行う方法を知らないので。
誰もが考えている?
最終的なSQL式は、これらすべてのフィルタを連結した後にどのように見えるのだろうかと思います。 – akonsu
@akonsu私はちょうどそれを試しました(これは似たようなものです) - 'where'句、' full_name LIKE%keith%AND full_name LIKE%s%AND AND ... ' –
@isbadawi、+1 - 複数のQオブジェクトのデフォルト演算子はANDであるので、reduce */operator.and_を使わずに' * [Q1、Q2、Q3] 'だけでよいことに注意してください。 –