Validación Pydantica

Coerción de tipos y validación de modelos.

Pruébelo en el editor

Descripción general

Pydantic permite que las clases de datos de Python transformen automáticamente configuraciones de red fundamentalmente sin tipo en representaciones con tipo.

Esto protege el estado del sistema mediante restricciones de tipo robustas.

Código y salida de ejecución

Declara un modelo de usuario de esquema estricto para cargas útiles de validación.

from pydantic import BaseModel, EmailStr, Field
from typing import List, Optional
import json

class User(BaseModel):
    id: int
    name: str = Field(min_length=2)
    email: EmailStr
    tags: List[str] = []
    is_active: bool = True

# Simulating an API response with mixed types
incoming_data = {
    "id": "123",       # string gets coerced to int
    "name": "Alice",
    "email": "alice@example.com",
    "tags": ("python", "developer") # tuple gets coerced to list
}

# Validate and instantiate
user = User(**incoming_data)

print("--- Validated Pydantic Model ---")
print(repr(user))
print("\n--- Exported to JSON ---")
print(user.model_dump_json(indent=2))
Salida terminal
--- Validated Pydantic Model ---
User(id=123, name='Alice', email='alice@example.com', tags=['python', 'developer'], is_active=True)

--- Exported to JSON ---
{
  "id": 123,
  "name": "Alice",
  "email": "alice@example.com",
  "tags": [
    "python",
    "developer"
  ],
  "is_active": true
}

Implementación paso a paso

  • Protección de terminales API
  • Validación del esquema de configuración
  • Interfaz de base de datos

Preguntas frecuentes

Temas relacionados