2026-09-21 22:06:10 +08:00
|
|
|
|
from pydantic import BaseModel,Field
|
|
|
|
|
|
from datetime import date,datetime
|
2026-09-22 13:38:28 +08:00
|
|
|
|
from typing import List
|
2026-09-21 22:06:10 +08:00
|
|
|
|
|
2026-09-22 12:31:52 +08:00
|
|
|
|
#班级基础信息请求体
|
2026-09-21 22:06:10 +08:00
|
|
|
|
class ClassBase(BaseModel):
|
2026-09-22 12:31:52 +08:00
|
|
|
|
num:str|None = Field(None,description='班级编号')
|
|
|
|
|
|
name:str|None = Field(None,description='班级名称')
|
|
|
|
|
|
head_teacher_id:int|None = Field(None,description='班主任编号(teacher表id)')
|
|
|
|
|
|
coach_teacher_id:int|None = Field(None,description='授课老师编号(teacher表id)')
|
|
|
|
|
|
tutor_teacher_id:int|None = Field(None,description='助教老师编号(teacher表id)')
|
|
|
|
|
|
class_start_time:date|None = Field(None,description='开班日期 YYYY‑MM‑DD')
|
|
|
|
|
|
class_end_time:date|None = Field(None,description='结课日期 YYYY‑MM‑DD')
|
2026-09-21 22:06:10 +08:00
|
|
|
|
|
2026-09-22 12:31:52 +08:00
|
|
|
|
#新增班级请求体:num,name必填,其余继承父类ClassBase
|
2026-09-21 22:06:10 +08:00
|
|
|
|
class ClassCreate(ClassBase):
|
2026-09-22 12:31:52 +08:00
|
|
|
|
num:str = Field(...,description='班级编号')
|
|
|
|
|
|
name:str = Field(...,description='班级名称')
|
2026-09-21 22:06:10 +08:00
|
|
|
|
|
2026-09-22 12:31:52 +08:00
|
|
|
|
#修改班级请求体,继承ClassBase,全部字段可选,传哪个就更新哪个
|
2026-09-21 22:06:10 +08:00
|
|
|
|
class ClassUpdate(ClassBase):
|
2026-09-22 12:31:52 +08:00
|
|
|
|
pass
|
2026-09-21 22:06:10 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ClassResponse(BaseModel):
|
|
|
|
|
|
code:int = 200
|
|
|
|
|
|
detail:str = 'OK'
|
|
|
|
|
|
totals:int = 0
|
|
|
|
|
|
data:str|dict|tuple|list
|
|
|
|
|
|
|
|
|
|
|
|
|