Outils de requête du framework Django Rest
Ce package facilite les opérations de filtrage via des paramètres de requête, simplifiant le processus de filtrage pour les vues Django Rest Framework. Installation
Installer via pip :
pip install django-rest-framework-query-tools
Exemple rapide d'utilisation
Supposons que vous disposiez d'un modèle Livres avec des champs tels que auteur, titre, etc. Pour filtrer les livres par auteur à l'aide des paramètres de requête :
Dans votre view.py, spécifiez le(s) champ(s) à filtrer à l'aide de 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' ,)
Vous pouvez désormais effectuer un filtrage en transmettant des paramètres de requête :
/v1/books?author=name
Méthode d'intégration 1 : intégration dans vues.py
Importez QueryParamsFilter et utilisez-le comme backend de filtre :
from drf_query_tools . filters import QueryParamsFilter
class BooksListView ( generics . ListAPIView ):
# ...
filter_backends = [ QueryParamsFilter ]
filter_fields = ( 'author' ,)
# ...
Méthode 2 : intégration globale via settings.py
Ajoutez le QueryParamsFilter aux paramètres de votre Django Rest Framework :
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS' : [
' django_rest_framework_query_tools .filters.url_fliter.URLFilter'
]
}
Contribuer
N'hésitez pas à contribuer en ouvrant des numéros ou en soumettant des demandes de tirage ! Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails