pydantic-models-py

Créez des modèles Pydantic en suivant le pattern multi-modèle avec les variantes Base, Create, Update, Response et InDB. À utiliser pour définir des schémas de requête/réponse API, des modèles de base de données ou la validation de données dans des applications Python utilisant Pydantic v2.

npx skills add https://github.com/microsoft/skills --skill pydantic-models-py

Modèles Pydantic

Créez des modèles Pydantic suivant le pattern multi-modèle pour des contrats API propres.

Démarrage rapide

Copiez le template depuis assets/template.py et remplacez les placeholders :

  • {{ResourceName}} → nom en PascalCase (ex. Project)
  • {{resource_name}} → nom en snake_case (ex. project)

Pattern Multi-Modèle

Modèle Objectif
Base Champs communs partagés entre les modèles
Create Corps de requête pour la création (champs obligatoires)
Update Corps de requête pour les mises à jour (tous optionnels)
Response Réponse API avec tous les champs
InDB Document de base de données avec doc_type

Alias camelCase

class MyModel(BaseModel):
    workspace_id: str = Field(..., alias="workspaceId")
    created_at: datetime = Field(..., alias="createdAt")

    class Config:
        populate_by_name = True  # Accept both snake_case and camelCase

Champs optionnels pour les mises à jour

class MyUpdate(BaseModel):
    """All fields optional for PATCH requests."""
    name: Optional[str] = Field(None, min_length=1)
    description: Optional[str] = None

Document de base de données

class MyInDB(MyResponse):
    """Adds doc_type for Cosmos DB queries."""
    doc_type: str = "my_resource"

Étapes d'intégration

  1. Créez les modèles dans src/backend/app/models/
  2. Exportez depuis src/backend/app/models/__init__.py
  3. Ajoutez les types TypeScript correspondants

Skills similaires