Filtrado, búsqueda y paginación
Haga manejables las respuestas de API grandes
Filtrado, búsqueda y paginación es una lección gratuita de Django Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Django Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Django Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
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. 🎉
Preguntas frecuentes
¿La lección «Filtrado, búsqueda y paginación» es gratis?
Sí — el texto completo de «Filtrado, búsqueda y paginación» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Django Academy, actualiza a CoddyKit PRO. El curso de Django Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Filtrado, búsqueda y paginación»?
Haga manejables las respuestas de API grandes Practicas Django Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Django Academy?
No se requiere experiencia previa. Django Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Filtrado, búsqueda y paginación»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Django Academy?
Sí. Cada lección de Django Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- ModelViewSet y Routers
- Permisos y limitación de solicitudes
- Autenticación con tokens y JWT
- Filtrado, búsqueda y paginación