django_rest_framework_query_tools
1.0.0
Django REST フレームワーク クエリ ツール
このパッケージは、クエリ パラメーターによるフィルター操作を容易にし、Django Rest Framework ビューのフィルター処理を簡素化します。インストール
pip 経由でインストールします。
pip install django-rest-framework-query-tools
使用法の簡単な例
著者、タイトルなどのフィールドを持つ Books モデルがあるとします。クエリ パラメータを使用して著者で書籍をフィルタリングするには、次のようにします。
views.py で、filter_fields を使用してフィルターするフィールドを指定します。
from rest_framework . views import APIView
from rest_framework import generics
from rest_framework import filters
from django_rest_framework_query_tools . filters . url_fliter import URLFilter
class BooksListView ( generics . ListAPIView ):
queryset = Books . objects . all ()
serializer_class = BookSerializer
filter_backends = [ URLFilter ]
filter_fields = ( 'author' ,)
これで、クエリ パラメータを渡すことでフィルタリングを実行できるようになりました。
/v1/books?author=name
統合方法 1: views.py への統合
QueryParamsFilter をインポートし、フィルター バックエンドとして使用します。
from drf_query_tools . filters import QueryParamsFilter
class BooksListView ( generics . ListAPIView ):
# ...
filter_backends = [ QueryParamsFilter ]
filter_fields = ( 'author' ,)
# ...
方法 2: settings.py によるグローバル統合
QueryParamsFilter を Django Rest Framework 設定に追加します。
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS' : [
' django_rest_framework_query_tools .filters.url_fliter.URLFilter'
]
}
貢献する
イシューを開いたり、プル リクエストを送信したりして、お気軽に貢献してください。ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください