46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
from pydantic import BaseModel
|
|
from datetime import date
|
|
|
|
from typing import Literal
|
|
|
|
class TeacherRequest(BaseModel): #Teacher请求体模型
|
|
teacher_id: str
|
|
teacher_name: str
|
|
gender: Literal[1,0]
|
|
birthday: date|None = None
|
|
native_region_code: str|None = None
|
|
email: str|None = None
|
|
phone: str
|
|
graduation_school: str|None = None
|
|
|
|
class TeacherUpdateRequest(BaseModel):
|
|
teacher_name: str|None = None
|
|
gender: Literal[1,0]|None = None
|
|
birthday: date | None = None
|
|
native_region_code: str | None = None
|
|
email: str | None = None
|
|
phone: str
|
|
graduation_school: str | None = None
|
|
|
|
|
|
class TeacherResponse(BaseModel): #Teacher响应体模型
|
|
teacher_id: str
|
|
teacher_name: str
|
|
gender: Literal[1,0]
|
|
birthday: date|None = None
|
|
native_region_code: str|None = None
|
|
email: str|None = None
|
|
phone: str
|
|
graduation_school: str|None = None
|
|
|
|
class TeacherCourseRequest(BaseModel): #TeacherCourse请求体模型
|
|
teacher_id: str|None = None
|
|
course_id: str|None = None
|
|
|
|
class TeacherCourseResponse(BaseModel): #老师带班信息及课程表响应体模型
|
|
teacher_id: str|None = None
|
|
course_id: str|None = None
|
|
model_config = {"from_attributes": True} #可以直接读取ORM模型对象,不用手动转字典
|
|
|
|
|