from pydantic import BaseModel, Field, ConfigDict from datetime import datetime from typing import Optional # ---------- 请求模型 ---------- class EmpCreate(BaseModel): stu_no: str = Field(..., max_length=20, description="学号") emp_open_time: Optional[datetime] = Field(None, description="不传用表默认值") offer_time: Optional[datetime] = Field(None, description="不传用数据库当前时间") company_name: str = Field(..., max_length=100, description="公司名称") salary: Optional[int] = Field(15000, description="不传用默认值 15000") class EmpUpdate(BaseModel): emp_open_time: Optional[datetime] = None offer_time: Optional[datetime] = None company_name: Optional[str] = Field(None, max_length=100) salary: Optional[int] = None # ---------- 响应模型 ---------- class EmpOut(BaseModel): stu_no: str stu_name: Optional[str] = None emp_open_time: Optional[datetime] = None offer_time: Optional[datetime] = None company_name: Optional[str] = None salary: Optional[int] = None model_config = ConfigDict(from_attributes=True)