0Pricing
Django Academy · Lección

Opciones de campo: null, blank, default

Controle qué valores acepta una columna

Opciones de campo: null, blank, default es una lección gratuita de Django Academy en CoddyKit. Esta es la lección 3 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.

Tune Each Field

Beyond the type, every field accepts options that control what values it will accept and how it behaves.

null Is About the Database

The null option decides whether the database column may store NULL. With null=True, the column can be empty in the database.

summary = models.TextField(null=True)

blank Is About Forms

The blank option controls validation, not the database. With blank=True, forms allow the field to be left empty.

summary = models.TextField(blank=True)

null and blank Are Different

Remember the split: null affects the database layer, while blank affects form validation. They solve two separate problems.

Avoid null on Text Fields

For string fields, skip null and just use blank=True. Django prefers an empty string over NULL to keep two empty states from existing.

note = models.CharField(max_length=100, blank=True)

default Supplies a Value

The default option sets the value used when none is given, so new rows start with sensible data.

views = models.IntegerField(default=0)

Callable Defaults

A default can be a callable like timezone.now. Pass the function itself, with no parentheses, so it runs for each new row.

created = models.DateTimeField(default=timezone.now)

unique Prevents Duplicates

Add unique=True and the database refuses two rows with the same value, perfect for usernames or slugs. 🚫

username = models.CharField(max_length=50, unique=True)

choices Limits the Options

The choices option restricts a field to a fixed set of values and renders a dropdown in forms and the admin.

STATUS = [("d", "Draft"), ("p", "Published")]
status = models.CharField(max_length=1, choices=STATUS)

Options Stack Together

You can combine options freely on one field, like blank=True with default. Stack them to express exactly what you need.

tagline = models.CharField(max_length=120, blank=True, default="")

Changes Need a Migration

Editing an option changes the schema. After tweaking null, default, or unique, run a migration so the database matches.

Quick Check

What is the real difference between null and blank?

Recap: Field Options

You now know that null is database-level, blank is form-level, default seeds values, and unique blocks duplicates. Tune fields with confidence! ✨

Preguntas frecuentes

¿La lección «Opciones de campo: null, blank, default» es gratis?

Sí — el texto completo de «Opciones de campo: null, blank, default» 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 «Opciones de campo: null, blank, default»?

Controle qué valores acepta una columna 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 3 de 4.

¿Cuánto tiempo toma la lección «Opciones de campo: null, blank, default»?

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. Definir una clase de modelo
  2. Elegir tipos de campo
  3. Opciones de campo: null, blank, default
  4. str y la clase Meta
← Volver a Django Academy