Filtrage, recherche et pagination
Rendez les réponses volumineuses de l’API faciles à utiliser.
Filtrage, recherche et pagination est une leçon Django Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Django Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Django Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Big Responses Are a Problem
Returning thousands of rows in one response is slow and unwieldy. DRF gives you filtering, search, and pagination to keep payloads usable.
Why Pagination First
Pagination splits a large list into pages, so clients fetch a slice at a time instead of everything at once.
Turning On Pagination
Set a default pagination class and page size in settings, and every list view starts paginating automatically.
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS':
'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 10,
}The Paginated Shape
PageNumberPagination wraps results with count, next, and previous links, so clients can walk through pages easily. 📄
Pagination Styles
Pick a style: PageNumberPagination uses page numbers, while LimitOffsetPagination lets clients ask for a limit and offset directly.
Now, Filtering
Filtering narrows results by exact field values, like asking only for books where the author id is 5.
Adding DjangoFilterBackend
Install django-filter, enable DjangoFilterBackend, and list the fields clients may filter on with filterset_fields.
class BookViewSet(viewsets.ModelViewSet):
queryset = Book.objects.all()
filterset_fields = ['author', 'published_year']Filters as Query Params
Clients filter through the URL query string, so a request like /books/?author=5 returns only that author's books. 🔍
Search vs Filter
SearchFilter does fuzzy text matching across fields, while filtering matches exact values. Search is for free-text queries.
Enabling Search Fields
Add SearchFilter and list the columns to scan in search_fields. Clients then pass a search term with the search query param.
from rest_framework.filters import SearchFilter
class BookViewSet(viewsets.ModelViewSet):
filter_backends = [SearchFilter]
search_fields = ['title', 'author__name']Ordering Results
Add OrderingFilter so clients can sort with ordering=title or ordering=-price for descending order, all from the URL.
Quick Check
Make sure you can tell these tools apart.
Recap: Usable API Responses
You can now slice lists with pagination, narrow them with filters, find text with search, and sort with ordering. Your API stays fast and friendly. 🎉
Questions Fréquemment Posées
La leçon « Filtrage, recherche et pagination » est-elle gratuite ?
Oui — le texte complet de « Filtrage, recherche et pagination » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Django Academy, passe à CoddyKit PRO. Le cours Django Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Filtrage, recherche et pagination » ?
Rendez les réponses volumineuses de l’API faciles à utiliser. Tu pratiques Django Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Django Academy ?
Aucune expérience préalable n'est requise. Django Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Filtrage, recherche et pagination » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Django Academy ?
Oui. Chaque leçon Django Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- ModelViewSet et routeurs
- Autorisations et limitation de débit
- Authentification par jeton et JWT
- Filtrage, recherche et pagination