from pydantic import BaseModel, Field from datetime import datetime from typing import Optional # 基础字段 class VasOrderEventBase(BaseModel): order_no: str = Field(..., max_length=100, description="订单编号") event_title: str = Field(..., max_length=255, description="事件标题") event_message: Optional[str] = Field(None, description="事件详情内容") email_uid: int = Field(..., description="邮件唯一UID") event_time: Optional[datetime] = Field(None, description="事件发生时间") # 创建时使用的 Schema class VasOrderEventCreate(VasOrderEventBase): order_no: Optional[str] = None alias_email: Optional[str] = None # API 返回时使用的 Schema class VasOrderEventOut(VasOrderEventBase): id: int order_no: str created_at: datetime class Config: # Pydantic V2 使用 from_attributes = True # Pydantic V1 使用 orm_mode = True from_attributes = True