Restricciones con Field en Python
Field lleva los límites, así la validación vive junto a la declaración.
from pydantic import BaseModel, Field, ValidationError
class Paso(BaseModel):
title: str = Field(max_length=60)
stars: int = Field(default=0, ge=0, le=3)
target_tpm: int = Field(alias="tpm3", gt=0, description="barra 3 estrellas")
paso = Paso(title="Cortes", stars=2, tpm3=95)
print(paso.stars, paso.target_tpm)
try:
Paso(title="x", stars=9, tpm3=95)
except ValidationError as exc:
print(exc.errors()[0]["msg"])
Cómo funciona
ge,leymax_lengthse revisan antes de que tu código corra.aliasmapea una clave entrante a otro nombre de atributo.descriptiony los ejemplos terminan en el esquema generado.
Palabras clave y builtins usados aquí
asclassexceptintprintstrtry
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 416
- Tokens
- 131
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 75 segundos.
Paso 2 de 5 en Modelos de Pydantic; paso 2 de 19 en Servicios web y acceso a datos.