このブログサイトのタグ検索にも使っています。 コチラのサイトでも紹介されていますが、Django Restに特化した組み方には触れていなかったので自分で調べてみました。下記に簡単な実装方法を紹介します。
# Taggitのインストール
下記のコマンドでインストールできます。
# 初期設定
settings.pyファイルに下記の2行を追記します。
# ビュークラスの設定
ここが本記事の本番です!サンプルとして下記のようなコードで最速で実装できます。
このviewクラスは、SearchFilterバックエンドを使用して、タグフィールドを検索することを可能にします。また、get_querysetメソッドをオーバーライドして、リクエストパラメーターで指定されたタグに基づいてクエリセットをフィルタリングすることもできます。
このviewクラスを使用するには、まずDjango rest frameworkのルーティング設定を行う必要があります。その後、次のようにして、タグに基づいたフィルタリングを行うことができます。
# ルーティングの設定
下記のようにroutersからincludeする事で簡単に利用できるようになります。
# 実行結果
上記のように、tagパラメーターを使用して、タグ名を指定することで、タグに基づいたフィルタリングを行うことができます。