Vue d'ensemble
Pydantic 2.3, publié le 13 octobre 2023, améliore la génération de schémas JSON et ajoute de nouveaux validateurs.
Fonctionnalités principales
Schéma JSON amélioré
La génération de schémas JSON est plus conforme à la spécification et supporte mieux les types Union et les références.
python
from pydantic import BaseModel
class Address(BaseModel):
street: str
city: str
class User(BaseModel):
name: str
address: Address
schema = User.model_json_schema()
print(schema) # $defs avec références
Nouveaux validateurs
De nouveaux validateurs de champ sont disponibles, dont field_validator avec le mode wrap pour un contrôle total.
python
from pydantic import BaseModel, field_validator
class Product(BaseModel):
name: str
price: float
@field_validator('price')
@classmethod
def check_price(cls, v: float) -> float:
if v <= 0:
raise ValueError('Price must be positive')
return round(v, 2)
