pydantic-models-py
bởi microsoft
Tạo các mô hình Pydantic theo mẫu đa mô hình với các biến thể Base, Create, Update, Response và InDB. Sử dụng khi định nghĩa lược đồ yêu cầu/phản hồi API, mô hình cơ sở dữ liệu hoặc xác thực dữ liệu trong các ứng dụng Python sử dụng Pydantic v2.
npx skills add https://github.com/microsoft/skills --skill pydantic-models-pyPydantic Models
Create Pydantic models following the multi-model pattern for clean API contracts.
Quick Start
Copy the template from assets/template.py and replace placeholders:
{{ResourceName}}→ PascalCase name (e.g.,Project){{resource_name}}→ snake_case name (e.g.,project)
Multi-Model Pattern
| Model | Purpose |
|---|---|
Base | Common fields shared across models |
Create | Request body for creation (required fields) |
Update | Request body for updates (all optional) |
Response | API response with all fields |
InDB | Database document with doc_type |
camelCase Aliases
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field
class MyModel(BaseModel):
model_config = ConfigDict(populate_by_name=True)
workspace_id: str = Field(..., alias="workspaceId")
created_at: datetime = Field(..., alias="createdAt")
Optional Update Fields
class MyUpdate(BaseModel):
model_config = ConfigDict(populate_by_name=True)
name: Optional[str] = Field(None, min_length=1)
description: Optional[str] = None
Database Document
class MyInDB(MyResponse):
doc_type: str = "my_resource"
Integration Steps
- Create models in
src/backend/app/models/ - Export from
src/backend/app/models/__init__.py - Add corresponding TypeScript types
Reference Files
| File | Contents |
|---|---|
| references/capabilities.md | Additional non-hero capabilities, operation-group coverage, and production checklists. |