Django Rest Framework Query Tools
This package facilitates filter operations via query parameters, simplifying the filtering process for Django Rest Framework views. Установка
Установить через пип:
pip install django-rest-framework-query-tools
Usage Quick Example
Suppose you have a Books model with fields like author, title, etc. To filter Books by author using query params:
В вашем view.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: интеграция в view.py
Import QueryParamsFilter and use it as a filter backend:
from drf_query_tools . filters import QueryParamsFilter
class BooksListView ( generics . ListAPIView ):
# ...
filter_backends = [ QueryParamsFilter ]
filter_fields = ( 'author' ,)
# ...
Method 2: Global Integration via settings.py
Add the QueryParamsFilter to your Django Rest Framework settings:
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS' : [
' django_rest_framework_query_tools .filters.url_fliter.URLFilter'
]
}
Содействие
Feel free to contribute by opening issues or submitting pull requests! Лицензия
Этот проект лицензируется по лицензии MIT — подробности см. в файле ЛИЦЕНЗИИ.