【Django-filter with DRF】複数キーワードの`and`,`or`検索に対応させる方法

この記事では、 Django-filterを利用する際に、複数キーワードのand,or検索に対応させる方法を紹介します。

 

◆動作検証環境

・ローカル環境:mac Catalina
・python:3.7.5
・Django:
3.1.2
・DjangoRESTframework: 3.12.1

 

スポンサードリンク

【Django-filter with DRF】複数キーワードのand検索

 

1つのキーワードに対する検索の条件をつける場合は、CharFilter の利用で対応できますが、複数のand検索の場合はカスタムフィルターを作成する必要があります。

以下のコードにする事でand検索が可能となります。

 

【Django-filter with DRF】複数キーワードのor検索

 

or検索の場合、さきほど紹介したand検索のコードと、MultipleChoiceFilterの方法を参考にし、以下のようにしてもうまく機能しません。

対応するために、以下のようにします。

 


この記事では、 Django-filterを利用する際に、複数キーワードのand,or検索に対応させる方法を紹介しました。