22 lines
864 B
Python
22 lines
864 B
Python
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 |