0Pricing
Django Academy · Lección

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

  1. ModelViewSet y Routers
  2. Permisos y limitación de solicitudes
  3. Autenticación con tokens y JWT
  4. Filtrado, búsqueda y paginación
← Volver a Django Academy