Vue d'ensemble
Pydantic 2.1, publié le 18 août 2023, améliore les champs calculés et ajoute de nouvelles options de sérialisation.
Fonctionnalités principales
Champs calculés améliorés
Le décorateur @computed_field supporte désormais mieux la sérialisation JSON et l’inclusion dans le schéma JSON.
python
from pydantic import BaseModel, computed_field
class Produit(BaseModel):
prix_ht: float
tva: float = 0.20
@computed_field
@property
def prix_ttc(self) -> float:
return round(self.prix_ht * (1 + self.tva), 2)
Options de sérialisation
Le paramètre mode dans model_dump permet de choisir entre sérialisation Python et JSON.
python
from pydantic import BaseModel
from datetime import datetime
class Event(BaseModel):
name: str
date: datetime
e = Event(name='Conf', date=datetime(2023, 8, 18))
print(e.model_dump(mode='json'))
# {'name': 'Conf', 'date': '2023-08-18T00:00:00'}
