Skip to content

brunob31880/pydantic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Installation

Pour commencer, vous devez installer Pydantic. Vous pouvez le faire via pip :

pip install pydantic

Les bases de Pydantic

Définir un modèle

Un modèle Pydantic est une classe qui hérite de BaseModel. Vous définissez les champs de votre modèle en utilisant des annotations de type.

from pydantic import BaseModel

class Utilisateur(BaseModel):
    id: int
    nom: str
    email: str
    age: int

Créer une instance du modèle

Vous pouvez créer une instance de votre modèle en passant un dictionnaire ou des arguments nommés :

utilisateur = Utilisateur(id=1, nom="Jean Dupont", email="jean.dupont@example.com", age=30)

Validation des données

Pydantic valide automatiquement les données lorsque vous créez une instance. Si les données ne correspondent pas aux types définis, une exception ValidationError est levée.

from pydantic import ValidationError

try:
    utilisateur = Utilisateur(id="un", nom="Jean Dupont", email="jean.dupont@example.com", age=30)
except ValidationError as e:
    print(e)

Accéder aux données

Vous pouvez accéder aux données de l'instance comme des attributs normaux :

print(utilisateur.nom)  # Output: Jean Dupont

Conversion en dictionnaire

Vous pouvez convertir une instance de modèle en dictionnaire :

utilisateur_dict = utilisateur.dict()
print(utilisateur_dict)

Conversion en JSON

Pydantic permet également de convertir un modèle en JSON :

utilisateur_json = utilisateur.json()
print(utilisateur_json)

Types de champs avancés

Pydantic supporte de nombreux types de champs avancés, tels que EmailStr, Url, UUID, etc. Vous pouvez également définir des champs optionnels et des valeurs par défaut.

from pydantic import EmailStr
from typing import Optional

class Utilisateur(BaseModel):
    id: int
    nom: str
    email: EmailStr
    age: Optional[int] = None

Validation personnalisée

Vous pouvez ajouter des validateurs personnalisés à vos modèles en utilisant le décorateur @validator.

from pydantic import validator

class Utilisateur(BaseModel):
    id: int
    nom: str
    email: EmailStr
    age: int

    @validator('age')
    def verifier_age(cls, age):
        if age < 0:
            raise ValueError("L'âge ne peut pas être négatif")
        return age

Modèles imbriqués

Pydantic permet également de définir des modèles imbriqués pour représenter des structures de données complexes.

class Adresse(BaseModel):
    rue: str
    ville: str
    code_postal: str

class Utilisateur(BaseModel):
    id: int
    nom: str
    email: EmailStr
    age: int
    adresse: Adresse

Conclusion

Pydantic est un outil puissant pour la validation des données en Python. Il est facile à utiliser et s'intègre bien avec d'autres bibliothèques comme FastAPI pour la création d'API web. Avec Pydantic, vous pouvez garantir que vos données sont toujours valides et conformes à votre schéma, ce qui réduit les erreurs et améliore la robustesse de votre code.

About

Formation Pydantic

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages