Elegir espacio

Dos espacios

¿Qué quieres consultar?

Elige el espacio al que quieres entrar.

Biblioteca FastAPIPrimera API

Práctica focalizada · Bloque 2 · Unidad 2.3

EX-B2-07

Field, field_validator o model_validator

Un modelo concentra patrón, normalización, fechas cruzadas y duplicados en un único `model_validator`.

  • Escribir y ejecutar código
  • Clasificación de reglas
  • Media
  • Apoyo moderado
  • Starter ejecutable

Cómo abordarla

Haz explícitas las reglas del modelo

Ejecuta primero el baseline. Después modifica la frontera indicada, escribe una regresión positiva y otra negativa y conserva la salida real.

Evidencia objetivo: El modelo acepta, normaliza o rechaza con reglas localizables y separa entrada, actualización y salida.

Abrir laboratorio de código

1. Descarga y arranca

2. Escribe y prueba

  1. Clasifica seis reglas antes de editar.
  2. Refactoriza restricciones declarativas, normalización y comparación cruzada.
  3. Extrae la comprobación de duplicados de los validadores.

3. Demuestra el comportamiento

  • Clasificación de las seis reglas por frontera y dependencia de estado.
  • Modelo refactorizado con pruebas positivas y negativas.
  • Explicación de una regla que deliberadamente no pertenece a Pydantic.

La respuesta principal es tu código y sus pruebas. Usa este espacio solo para anotar la predicción inicial y el resultado observado.

Predicción breve antes de ejecutar

¿Qué regla pertenece a cada mecanismo y cuál no pertenece a Pydantic?

Comprueba estas tres cosas

  1. ¿Qué comportamiento observas y qué parte es todavía una hipótesis?
  2. ¿Cuál es el cambio mínimo que permite verificar la causa o el contrato?
  3. ¿Qué evidencia conservarías para demostrar que no rompiste otra frontera?

Anota predicción, comando ejecutado y diferencia observada; el código vive en tu workspace.

Sin respuesta guardada.

Pistas opcionales

Pista 1 · Localiza la frontera
  • Separa importación, enrutado, extracción, validación, operación y serialización.
  • Lee el status, los headers y la ubicación del error antes de editar.
Pista 2 · Reduce la prueba
  • Usa una petición válida y una inválida que difieran en una sola variable.
  • Compara el comportamiento con `/openapi.json` cuando el contrato esté documentado.
Profundización opcional

Mover cada regla a la frontera más estrecha y dejar fuera el estado externo.

Contexto adicional

  • Trabaja únicamente dentro del alcance del bloque: una aplicación pequeña y estado en memoria.
  • No hay solución oficial publicada; el material contiene huecos y defectos deliberados.
  • Justifica las decisiones por el mensaje HTTP y el contrato observable, no solo porque el código arranque.

Cómo revisar tu respuesta

  • Los rangos simples usan `Field`.
  • La relación entre fechas usa `model_validator` y devuelve `self`.
  • Ningún validador consulta estado externo.

Evidencia, revisión y reinicio

  • Decisión razonada guardada localmente en la web.
  • Código o informe ejecutable en el workspace temporal, más una captura de curl/OpenAPI cuando proceda.

Revisión: con Codex, utilizando la evidencia y los criterios anteriores; no se publica una solución oficial.

Reinicio: Eliminar el workspace temporal y volver a descargar el material inicial; no hay estado persistente externo.