Skip to main content

pydantic-models-py

Create Pydantic models following the multi-model pattern with Base, Create, Update, Response, and InDB variants. Use when defining API request/response schemas, database models, or data validation in Python applications using Pydantic v2.

소스 정보

저장소
microsoft/skills
최근 소스 활동
2026년 7월 28일 21:46
감지된 SKILL.md 언어
영어
스타
3,063
포크
351

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
pydantic-models-py
description
Create Pydantic models following the multi-model pattern with Base, Create, Update, Response, and InDB variants. Use when defining API request/response schemas, database models, or data validation in Python applications using Pydantic v2.
license
MIT
metadata
{"author":"Microsoft","version":"1.0.0"}
# Pydantic Models Create Pydantic models following the multi-model pattern for clean API contracts. ## Quick Start Copy the template from [assets/template.py](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 ```python 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 ```python class MyUpdate(BaseModel): model_config = ConfigDict(populate_by_name=True) name: Optional[str] = Field(None, min_length=1) description: Optional[str] = None ``` ## Database Document ```python class MyInDB(MyResponse): doc_type: str = "my_resource" ``` ## Integration Steps 1. Create models in `src/backend/app/models/` 2. Export from `src/backend/app/models/__init__.py` 3. Add corresponding TypeScript types ## Reference Files | File | Contents | |------|----------| | [references/capabilities.md](references/capabilities.md) | Additional non-hero capabilities, operation-group coverage, and production checklists. |
GitHub에서 보기