""" Item Pydantic 模型 """ from pydantic import BaseModel, Field from datetime import datetime from typing import Optional from decimal import Decimal class ItemBase(BaseModel): """Item 基础模型""" name: str = Field(..., min_length=1, max_length=100, description="物品名称") description: Optional[str] = Field(None, description="物品描述") price: Decimal = Field(0.00, ge=0, description="物品价格") class ItemCreate(ItemBase): """创建 Item 模型""" pass class ItemUpdate(BaseModel): """更新 Item 模型""" name: Optional[str] = Field(None, min_length=1, max_length=100, description="物品名称") description: Optional[str] = Field(None, description="物品描述") price: Optional[Decimal] = Field(None, ge=0, description="物品价格") class ItemInDB(ItemBase): """数据库中的 Item 模型""" id: int is_active: bool created_at: datetime updated_at: datetime class Config: from_attributes = True class ItemResponse(ItemInDB): """Item 响应模型""" pass