from pydantic import BaseModel, Field from typing import Optional from datetime import datetime # 新增班级时,前端传过来的数据 class ClassCreate(BaseModel): start_time: datetime = Field(..., description="开课时间") # 修改班级时,前端传过来的数据(可选) class ClassUpdate(BaseModel): start_time: Optional[datetime] = None # 返回给前端的数据格式 class ClassOut(ClassCreate): class_id: int # 两个额外字段head_teacher_name和course_teacher_names,它们不是数据库字段,而是在DAO # 层手动塞进对象的。答辩时记得解释:“这是为了前端展示方便,在查询时动态拼装的字段。” head_teacher_name: str = "暂无" # 班主任名字 course_teacher_names: str = "暂无" # 授课老师名字 class Config: from_attributes = True