typestar

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

  1. ge, le y max_length se revisan antes de que tu código corra.
  2. alias mapea una clave entrante a otro nombre de atributo.
  3. description y los ejemplos terminan en el esquema generado.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 5 en Modelos de Pydantic; paso 2 de 19 en Servicios web y acceso a datos.

← Anterior Siguiente →