Defina un esquema para un modelo
Declare campos que se correspondan con su modelo.
Defina un esquema para un modelo es una lección gratuita de Flask 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 Flask Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Flask Academy incluye 4 lecciones en total.
Qué es un esquema
Un Schema es una clase de Python que enumera los campos que deberían tener sus datos. Refleja un modelo, pero vive por separado y se ocupa únicamente de la entrada y la salida.
Heredar de Schema
Cada esquema hereda de la clase base Schema de Marshmallow. Nombrarlo según su modelo, como UserSchema, deja clara la intención de un vistazo.
class UserSchema(Schema):
passDeclarar campos
Dentro de la clase, añada atributos del módulo fields. Cada uno da nombre a una clave que aparecerá en la salida JSON serializada.
id = fields.Int()
name = fields.Str()Los tipos de campo importan
Elija un tipo de campo que coincida con los datos: Int, Str, Bool, Float o DateTime. El tipo controla cómo se formatean y validan los valores.
active = fields.Bool()
score = fields.Float()Gestionar las fechas correctamente
Un campo DateTime serializa automáticamente los datetimes de Python en cadenas ISO limpias. Ya no tendrá que repartir formatos manuales por sus vistas.
created_at = fields.DateTime()Marcar los campos obligatorios
Pase required=True a un campo para que la carga falle si falta. Esta es su primera muestra de validación integrada directamente en el esquema.
email = fields.Str(required=True)Excluir los secretos
Enumere únicamente los campos que quiera exponer. Al no declarar password_hash, el esquema nunca podrá filtrarlo en una respuesta.
Cambiar el nombre con data_key
¿Quiere obtener JSON en camelCase a partir de un atributo snake_case? Use data_key para asignar un nombre interno a una clave externa diferente.
first_name = fields.Str(data_key="firstName")Campos dump_only
Algunos campos, como un id, deberían aparecer en la salida, pero nunca aceptarse como entrada. Márquelos como dump_only para mantenerlos de solo lectura.
id = fields.Int(dump_only=True)Instanciar el esquema
Cree una instancia para reutilizarla: user_schema es igual a UserSchema(). Más adelante, pase many=True al serializar una lista completa.
user_schema = UserSchema()Un esquema, dos funciones
Esta misma clase volcará modelos a JSON y cargará JSON de nuevo como datos comprobados. Define la estructura una sola vez y la usa en ambas direcciones.
Comprobación rápida
Quiere que id se pueda leer en la salida, pero que nunca se acepte como entrada.
Repaso
Una subclase de Schema declara campos tipados que se asignan a su modelo. Opciones como required, dump_only y data_key determinan exactamente qué entra y qué sale.
Aprende Python con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Defina un esquema para un modelo» es gratis?
Sí — el texto completo de «Defina un esquema para un modelo» 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 Flask Academy, actualiza a CoddyKit PRO. El curso de Flask Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Defina un esquema para un modelo»?
Declare campos que se correspondan con su modelo. Practicas Flask 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 Flask Academy?
No se requiere experiencia previa. Flask 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 «Defina un esquema para un modelo»?
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 Flask Academy?
Sí. Cada lección de Flask 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
- Por qué el JSON construido a mano falla
- Defina un esquema para un modelo
- Vuelque objetos a JSON
- Cargue y valide cargas útiles de entrada