Django Rest Framework (DRF)で部分一致フィルタを実装するためには、Djangoフィルターバックエンドを使うのが一般的です。これは、django_filters モジュールを使用します。
このモジュールをまだインストールしていない場合は、以下のコマンドでインストールできます:
以下は、部分一致検索を実現するための一般的な手順です:
フィルタセットを定義します。以下はmodels.pyに存在するMyModelというモデルでnameフィールドを部分一致検索するためのフィルタセットです:
ここで、lookup_expr=‘icontains’は、大文字小文字を区別せずに部分一致を行うための設定です。
次に、作成したフィルタセットをViewSetに適用します:
これで、クライアントからのリクエストにnameパラメータが含まれている場合、その値に部分一致するMyModelのインスタンスがレスポンスとして返されます。
ただし、これらのコードは例示のためのものであり、実際の使用ではモデルやフィールド名を適切に置き換える必要があります。また、セキュリティやパフォーマンスの観点から、適切なフィルタリングとバリデーションを行うことが重要です。