ダーク/ライト切り替え

Django Rest FrameworkでTaggitによるフィルタリングを最速で実装する

投稿日2023-01-25

Picture of the logo


目次

目次を読み込み中...

このブログサイトのタグ検索にも使っています。 コチラのサイトでも紹介されていますが、Django Restに特化した組み方には触れていなかったので自分で調べてみました。下記に簡単な実装方法を紹介します。

# Taggitのインストール

下記のコマンドでインストールできます。


            

# 初期設定

settings.pyファイルに下記の2行を追記します。


            

# ビュークラスの設定

ここが本記事の本番です!サンプルとして下記のようなコードで最速で実装できます。

このviewクラスは、SearchFilterバックエンドを使用して、タグフィールドを検索することを可能にします。また、get_querysetメソッドをオーバーライドして、リクエストパラメーターで指定されたタグに基づいてクエリセットをフィルタリングすることもできます。

このviewクラスを使用するには、まずDjango rest frameworkのルーティング設定を行う必要があります。その後、次のようにして、タグに基づいたフィルタリングを行うことができます。

# ルーティングの設定

下記のようにroutersからincludeする事で簡単に利用できるようになります。


            

# 実行結果

上記のように、tagパラメーターを使用して、タグ名を指定することで、タグに基づいたフィルタリングを行うことができます。






関連記事

Django Restを使って管理しているブログにアクセスカウンタを秒で設置する【初心者】

blog

ブログのバックエンドにDjango Restを使い、ページビューのたびに1ずつ増えるカウンタを作る方法を備忘録も兼ねて書き残しておきます。

Django4にdjango-dbbackupでAWS S3を保存先にしたらハマったので・・・

blog

djangoフレームワークでデータベースのバックアップにdjango-dbbackupを使う人は多いと思いますが、Djangoバージョン4などの比較的新しいバージョンにdjango-dbbackupやbotoをインストールした場合、そのままでは動かない可能性が高いので解決法を書き残しておきます。

Djangoフレームワークで国別アクセス制限を実装する方法

blog

サーバーを運用していると、特定の国からのアクセスを制限したいと思うことはありませんか?例えば、セキュリティの理由や、ビジネスの対象地域を限定したい場合などです。Djangoを使っている場合、簡単に特定の国からのアクセスを制限できる方法があります。この記事では、Djangoで国別アクセス制限を実装する方法を紹介します。

【備忘録】2023年版Djangoのstatic保存先をAWS S3にする

blog

Djangoの静的ファイルをS3に保存する手順。2023年1月にAWSに仕様変更が入り、追加の手続きが必要になったので、個人的備忘録を兼ねて書き残しておきます。

【初心者】Pythonで大量の文字列の重複チェックをする方法【備忘録】

blog

Pythonで文字列の配列、リストから重複の有無をチェックする簡単な方法を紹介します

【python】Youtube動画を自分のパソコンにダウンロードして保存する方法

blog

YouTube動画をローカルPCにダウンロードするプログラムの自作方法を紹介します。

【python】2枚の画像の違いを検出する方法【初心者】

blog

個人的に2つの画像を比較して違いを見分けるアプリが欲しかったので作ってみました。同様のものは既に多数あるかと思いますが初心者でも簡単に作れるので紹介します。

【Python】英語から日本語への翻訳と音声出力【初心者】

blog

Pythonを利用した英語翻訳と日本語読み上げを簡単に実装する方法を紹介します。

【Python】最強のパスワードの作り方わかったw【超初心者向け】

blog

pythonの標準モジュールでUUIDというモジュールを使うと簡単に強度な乱数を生成できます。32桁の16進数とそれを4つの-(ハイフン)で区切られた合計36文字の文字列をランダムで生成します。これだけで2^128とおりのパターンがあるので一意の固有の識別番号と言っても過言ではないでしょう。今回はそれを2つ並べます。

Unityで端末情報、IPアドレスを取得する方法

blog

Unityにて端末固有情報などをC#コードから取得する方法をまとめました。


スポンサーリンク

このサイトをシェアする