Introducción
- Este artículo te guía a través de la validación de datos con pydantic. Pydantic es una biblioteca de Python construida en Rust.
- Antes de empezar, asegúrate de tener Python y la biblioteca Pydantic instalados en tu entorno. Consulta el comando de instalación de pydantic a continuación.
Creando un modelo
- Primero, necesitaremos importar y hacer que nuestra clase herede de
pydantic.BaseModelpara empezar a validar. En nuestro ejemplo crearemos una clase llamadaPersonque tendrá un nombre, una edad y un correo electrónico.
- Con esta clase, cuando la instanciemos, pydantic validará si los parámetros
nameyemailson cadenas de texto y siagees un entero.
Usando el modelo
- Ahora que la tenemos creada, instanciaremos la clase. Crearemos un dict que contenga los datos y lo desempaquetaremos en nuestra clase.
- El ejemplo anterior no generará ningún error ya que todos los parámetros son del tipo correcto. Ahora crearemos un dato incorrecto para confirmar si nuestra validación funciona.
- En el ejemplo anterior se generará el error
ValidationErrorporqueagenecesita ser un entero y no puede proporcionarse como una cadena de texto.
Creando una dataclass
- También puedes crear dataclasses con pydantic, que serán similares a las dataclasses estándar de Python pero tendrán validaciones como BaseModel.
- Si enviamos una
stringaage, la convertirá aint.
Pydantic admite la validación recursiva, lo que significa que al validar modelos anidados, también valida los modelos
internos.Si alguna clase tiene una lista de
Person, people: list[Person], verificará cada elemento de la lista y lo convertirá en un Person.Extras
- Pydantic tiene algunos extras como validaciones de correo electrónico y un paquete de respaldo de timezone. Para instalarlos, necesitas ejecutar los siguientes comandos:
- Puedes instalar ambos juntos ejecutando el siguiente comando.
- Pydantic[email] trae una clase para manejar correos electrónicos, normalizándolos y validando el formato
user@domain.tld. Para esto, pydantic trae la claseEmailStrpara realizar esta validación.
¿Te gustó este artículo?
- Creamos este contenido con mucho cuidado para ofrecer la mejor ayuda posible. Si este artículo te ayudó de alguna manera, ¡apoya nuestro trabajo! ¡Deja tu reseña! nos ayuda a entender qué es lo que más te importa.
Google Reviews
Deja tu reseña en Google Reviews.
Trustpilot
Deja tu reseña en Trustpilot.

