← ClaudeAtlas

py-pydantic-patternslisted

Pydantic v2 patterns for validation and serialization. Use when creating schemas, validating data, or working with request/response models.
aiskillstore/marketplace · ★ 329 · AI & Automation · score 79
Install: claude install-skill aiskillstore/marketplace
# Pydantic v2 Patterns ## Problem Statement Pydantic v2 has significant API changes from v1. This codebase uses v2. Wrong patterns cause validation failures, serialization bugs, and frontend integration issues. --- ## Pattern: v1 to v2 Migration **Critical changes to know:** ```python # ❌ v1 (OLD - don't use) from pydantic import validator class Model(BaseModel): class Config: orm_mode = True @validator("email") def validate_email(cls, v): return v.lower() def dict(self): ... # ✅ v2 (CURRENT) from pydantic import field_validator, ConfigDict class Model(BaseModel): model_config = ConfigDict(from_attributes=True) @field_validator("email") @classmethod def validate_email(cls, v: str) -> str: return v.lower() def model_dump(self): ... ``` **Quick reference:** | v1 | v2 | |----|-----| | `class Config` | `model_config = ConfigDict(...)` | | `orm_mode = True` | `from_attributes=True` | | `.dict()` | `.model_dump()` | | `.json()` | `.model_dump_json()` | | `@validator` | `@field_validator` | | `@root_validator` | `@model_validator` | | `parse_obj()` | `model_validate()` | | `update_forward_refs()` | `model_rebuild()` | --- ## Pattern: Field Validators ```python from pydantic import BaseModel, field_validator, ValidationInfo class AssessmentCreate(BaseModel): title: str skill_areas: list[str] max_score: int # Single field validator @field_validator("tit