from pydantic import BaseModel from typing import Optional from datetime import datetime from sqlalchemy import BigInteger from sqlalchemy.dialects.mssql import TINYINT from sqlalchemy.dialects.mysql import VARCHAR #===============老师表=================== #===============请求体模型================ class TeacherCreate(BaseModel): teacher_no: Optional[int] = None teacher_name: Optional[str] = None email: Optional[str] = None phone: Optional[str] = None remark: Optional[str] = None class TeacherUpdate(BaseModel): teacher_no: Optional[str] = None teacher_name: Optional[str] = None email: Optional[str] = None phone: Optional[str] = None remark: Optional[str] = None #================响应体================== class TeacherOut(BaseModel): id: int teacher_no: str teacher_name: str phone: Optional[str] email: Optional[str] remark: Optional[str] created_at: datetime updated_at: datetime is_deleted: int #`orm_mode = True` 是 Pydantic v1 的配置项。开启之后,Pydantic 可以直接读取 SQLAlchemy # 查询得到的 ORM 对象的属性,自动映射生成接口响应 JSON,不用手动把 ORM 对象转为字典。 # 这个配置只用在响应体 Out 模型,新增和修改的请求模型不需要。 class Config: from_attributes=True #=====班级老师中间表 class_teachers ========= class ClassTeachersCreate(BaseModel): class_id: int teacher_id: int role: str #=================响应体=================== class ClassTeacherOut(BaseModel): id: int class_id: int teacher_id: int role: str created_at: datetime updated_at: datetime is_deleted: int class Config: from_attributes=True