Merge pull request '2026.09.21-14:25 合并请求' (#13) from zhangyi into main
Reviewed-on: #13
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
from sqlalchemy import (Column, Integer, String, Text,
|
||||
BigInteger,ForeignKey,VARCHAR,DateTime
|
||||
)
|
||||
from sqlalchemy.dialects.mssql import TINYINT
|
||||
|
||||
from core.database import Base
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
# teachers 老师表 ORM 模型
|
||||
#字段包括id,teacher_no,teacher_name,phone,email,remark,created_at,updated_at,is_deleted
|
||||
class Teacher(Base):
|
||||
__tablename__ = 'teachers_info_detail'
|
||||
id = Column(
|
||||
Integer
|
||||
, primary_key=True
|
||||
,autoincrement=True
|
||||
,comment='老师主键')
|
||||
teacher_no = Column(
|
||||
VARCHAR(50)
|
||||
,nullable=False
|
||||
,unique=True
|
||||
,comment='老师编号'
|
||||
)
|
||||
teacher_name = Column(
|
||||
VARCHAR(50)
|
||||
,nullable=False
|
||||
,comment='老师名字'
|
||||
)
|
||||
phone = Column(
|
||||
VARCHAR(20)
|
||||
,nullable=True
|
||||
,comment='老师电话'
|
||||
)
|
||||
email = Column(
|
||||
VARCHAR(100)
|
||||
,nullable=True
|
||||
,comment='邮箱'
|
||||
)
|
||||
remark = Column(
|
||||
VARCHAR(2550)
|
||||
,nullable=True
|
||||
,comment='备注'
|
||||
)
|
||||
created_at = Column(
|
||||
DateTime
|
||||
,nullable=False
|
||||
,default=datetime.now
|
||||
,comment='创建时间'
|
||||
)
|
||||
updated_at = Column(
|
||||
DateTime
|
||||
,nullable=False
|
||||
,default=datetime.now
|
||||
,comment='更新时间'
|
||||
)
|
||||
is_deleted = Column(
|
||||
TINYINT
|
||||
,nullable=False
|
||||
,default=0
|
||||
,comment='逻辑删除'
|
||||
)
|
||||
|
||||
|
||||
#班级老师关系表 class_teachers_info_detail 中间表 ORM 模型完整定义
|
||||
#字段包括id,class_id,teacher_id,role,created_at,updated_at,is_deleted
|
||||
class ClassTeachers(Base):
|
||||
__tablename__ = "class_teachers_info_detail"
|
||||
id = Column(
|
||||
BigInteger
|
||||
,primary_key=True
|
||||
,autoincrement=True
|
||||
,comment='关系')
|
||||
class_id = Column(
|
||||
BigInteger
|
||||
,ForeignKey('class_id')
|
||||
,nullable=False
|
||||
,comment='关联 class_id'
|
||||
)
|
||||
teacher_id = Column(
|
||||
BigInteger
|
||||
,ForeignKey('teacher_id')
|
||||
,nullable=False
|
||||
,comment='关联 teacher_id'
|
||||
)
|
||||
role = Column(
|
||||
VARCHAR(30)
|
||||
,nullable=False
|
||||
,comment='老师在班级中的角色:head_teacher班主任 / lecturer授课老师 / assistant助教'
|
||||
)
|
||||
created_at = Column(
|
||||
DateTime
|
||||
,nullable=False
|
||||
,default=datetime.now()
|
||||
,comment='创建时间'
|
||||
)
|
||||
updated_at = Column(
|
||||
DateTime
|
||||
,nullable=False
|
||||
,default=datetime.now()
|
||||
,comment='更新时间'
|
||||
)
|
||||
is_deleted = Column(
|
||||
TINYINT
|
||||
,nullable=False
|
||||
,default=0
|
||||
,comment='逻辑删除'
|
||||
)
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
from datetime import datetime
|
||||
#===============老师表===================
|
||||
#===============请求体模型================
|
||||
class TeacherCreate(BaseModel):
|
||||
teacher_no: Optional[str] = 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user