Búsquedas de campos y exclude()
Consulte con contains, gte, in y otras opciones
Búsquedas de campos y exclude() es una lección gratuita de Django Academy en CoddyKit. Esta es la lección 2 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.
Beyond Equality
Plain filters check for equality, but real queries need ranges and text matches. Field lookups unlock that extra power.
The Double Underscore
A lookup is the field name, a double underscore, then the operator. That tiny syntax is how Django reads richer conditions.
Book.objects.filter(year__gte=2020)Greater and Less Than
Use gt, gte, lt, and lte for numeric or date ranges. They map straight to SQL comparison operators.
Book.objects.filter(price__lt=20)Search Inside Text
The contains lookup finds rows where a field holds your substring anywhere inside it. Great for simple searches.
Book.objects.filter(title__contains="Python")Ignore the Case
Add an i for case-insensitive text lookups like icontains or iexact, so capitals never trip up a match.
Book.objects.filter(title__icontains="python")Starts and Ends
Match the edges of a string with startswith and endswith. Both have case-insensitive twins too.
Book.objects.filter(title__startswith="The")Match a Set of Values
The in lookup keeps rows whose value appears in a list you pass. It is cleaner than chaining many OR checks.
Book.objects.filter(year__in=[2022, 2023, 2024])Check for Empty Values
Use isnull to find rows where a column is NULL, or set it False to find the rows that have a value.
Book.objects.filter(summary__isnull=True)Flip the Logic
Sometimes you want everything except a match. exclude() returns the rows that do NOT meet the condition.
Book.objects.exclude(published=True)Lookups Work in exclude Too
Any field lookup that works in filter also works in exclude(). The only difference is the result is inverted.
Book.objects.exclude(year__gte=2020)Combine filter and exclude
Chain both together to keep one group and drop another. Each call narrows the same lazy QuerySet further.
Book.objects.filter(published=True).exclude(price__gt=50)Quick Check
You want books whose title holds "django" regardless of capitalization. Which lookup fits?
Recap
You leveled up! Field lookups use the double underscore for ranges and text, and exclude() flips any condition. 🔍
Preguntas frecuentes
¿La lección «Búsquedas de campos y exclude()» es gratis?
Sí — el texto completo de «Búsquedas de campos y exclude()» 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 «Búsquedas de campos y exclude()»?
Consulte con contains, gte, in y otras opciones 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 2 de 4.
¿Cuánto tiempo toma la lección «Búsquedas de campos y exclude()»?
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
- all(), get() y filter()
- Búsquedas de campos y exclude()
- order_by, slicing y evaluación diferida
- values, values_list y count