Files
DoubaoTeam/schemas/teacher.py
T

59 lines
1.7 KiB
Python
Raw Normal View History

2026-09-21 14:22:43 +08:00
from pydantic import BaseModel
from typing import Optional
from datetime import datetime
2026-09-21 18:46:42 +08:00
from sqlalchemy import BigInteger
from sqlalchemy.dialects.mssql import TINYINT
from sqlalchemy.dialects.mysql import VARCHAR
2026-09-21 14:22:43 +08:00
#===============老师表===================
#===============请求体模型================
class TeacherCreate(BaseModel):
2026-09-21 18:46:42 +08:00
teacher_no: Optional[int] = None
2026-09-21 14:22:43 +08:00
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
2026-09-21 18:46:42 +08:00
#================响应体==================
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