From 01c289c1023cc66a4fb2b5e8b7f6177d9cd994a4 Mon Sep 17 00:00:00 2001 From: wolin_ck666_999 Date: Tue, 22 Sep 2026 21:36:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=E3=80=8Cmodel=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/class_model.py | 30 ++++++++++++++++++++++++++++++ model/epy_model.py | 28 ++++++++++++++++++++++++++++ model/sc_model.py | 40 ++++++++++++++++++++++++++++++++++++++++ model/stu_model.py | 25 +++++++++++++++++++++++++ model/th_model.py | 23 +++++++++++++++++++++++ 5 files changed, 146 insertions(+) create mode 100644 model/class_model.py create mode 100644 model/epy_model.py create mode 100644 model/sc_model.py create mode 100644 model/stu_model.py create mode 100644 model/th_model.py diff --git a/model/class_model.py b/model/class_model.py new file mode 100644 index 0000000..70814da --- /dev/null +++ b/model/class_model.py @@ -0,0 +1,30 @@ +from sqlalchemy import * +from datetime import datetime +from database import Base +class Class(Base): + ''' + 班级信息数据库类模型 + ''' + __tablename__ = "s_class" + id = Column(Integer, + primary_key=True, + autoincrement=True, + index=True,#为该列创建索引,加快查询速度 + comment='班级主键id') + class_id = Column(String(32), + nullable=False, + index=True, + unique=True, + comment='班级编号') + class_name = Column(String(32), + nullable=False, + index=True, + comment='班级名字') + ht_id = Column(Integer,nullable=False, + comment='班主任ID') + t_id = Column(Integer,nullable=False, + comment='授课老师ID') + start_time = Column(DATETIME,default=datetime.now,comment='开课时间') + update_time = Column(DATETIME,default=datetime.now,onupdate=datetime.now) + is_deleted = Column(Integer,default=0,index=True) + diff --git a/model/epy_model.py b/model/epy_model.py new file mode 100644 index 0000000..09827cc --- /dev/null +++ b/model/epy_model.py @@ -0,0 +1,28 @@ +from sqlalchemy import * +from datetime import datetime +from database import * +class Employment(Base): + __tablename__ = 's_employment' + id = Column(Integer + , primary_key=True + , autoincrement=True + , comment='编号,自增主键') + stu_id = Column(String(20), + ForeignKey('s_student.stu_id') + , unique=True + , nullable=True + , comment='学生学号,唯一') + class_name = Column(String(32)) + company = Column(String(100)) + salary = Column(Integer + , default=0) + open_date = Column(DATETIME + , default=datetime.now()) + offer_date = Column(DATETIME + , default=datetime.now()) + work_date = Column(DATETIME + , default=datetime.now() + , onupdate=datetime.now) + is_deleted = Column(Integer + , default=0 + ) diff --git a/model/sc_model.py b/model/sc_model.py new file mode 100644 index 0000000..3838a70 --- /dev/null +++ b/model/sc_model.py @@ -0,0 +1,40 @@ +from sqlalchemy import * +from datetime import datetime +from database import * + +class Scores(Base): + __tablename__ = 's_scores' + id=Column( Integer + , primary_key=True + ,autoincrement=True + ,comment='成绩编号' + ) + stu_id=Column(String(50) + , ForeignKey('s_student.stu_id') + ,comment='学生编号' + , nullable=False + ) + exam_seq=Column(Integer + + , nullable=True + ,comment='考试序次' + ) + score=Column(Float + ,comment='分数' + ) + create_date=Column(DATETIME + , default=datetime.now + ,comment='创建时间' + ) + update_date=Column(DATETIME + , default=datetime.now + ,onupdate=datetime.now + ,comment='更新时间' + ) + deleted=Column(Integer + ,default=1 + , comment='软删除' + ) + + + diff --git a/model/stu_model.py b/model/stu_model.py new file mode 100644 index 0000000..b7c5cb1 --- /dev/null +++ b/model/stu_model.py @@ -0,0 +1,25 @@ +from database import Base +from sqlalchemy import Column,Integer,String,Date,Boolean, Enum as SQLEnum,ForeignKey +from enum import Enum +class Sex(Enum): + m= "男" + w= "女" +class Student(Base): + __tablename__ = 's_student' + id=Column(Integer, primary_key=True,autoincrement=True,comment="数据库主键id") + stu_id=Column(String(50),unique=True,nullable=False,comment='学生id') + class_id=Column(String(50),ForeignKey("s_class.class_id"), + comment='学生班级') + stu_name=Column(String(30),nullable=False,comment='学生姓名') + native_place = Column(String(100), comment="籍贯") + graduate_school = Column(String(100), comment="毕业院校") + major = Column(String(50), comment="专业") + enroll_date = Column(Date, comment="入学时间") + graduate_date = Column(Date, comment="毕业时间") + education = Column(String(30), comment="学历") + advisor_no = Column(String(50), comment="顾问编号") + age = Column(Integer, comment="年龄") + gender = Column( + SQLEnum(Sex, values_callable=lambda x: [e.value for e in x]), + comment="性别") + is_deleted = Column(Boolean, default=False, comment="逻辑删除标记:False未删除,True已删除") \ No newline at end of file diff --git a/model/th_model.py b/model/th_model.py new file mode 100644 index 0000000..9f8a0f5 --- /dev/null +++ b/model/th_model.py @@ -0,0 +1,23 @@ +from sqlalchemy import Integer, String, Column, DateTime, Enum as SQLEnum, Boolean, ForeignKey +from database import * + +from enum import Enum +from datetime import datetime + +class Sex(Enum): + w = '女' + m = '男' + +class Teacher(Base): + __tablename__ = 's_teacher' + id = Column(Integer, primary_key=True,autoincrement=True) + t_id =Column(Integer,unique=True,nullable=False) + t_name = Column(String(100),comment='教师名称') + t_age = Column(Integer,comment='年龄') + t_phone = Column(String(20),unique=True,comment='电话') + t_sex = Column(SQLEnum(Sex,values_callable=lambda x: [e.value for e in x]),comment='性别') + class_id = Column(String(100),ForeignKey('s_class.class_id'),comment='带班编号') + create_time = Column(DateTime,default=datetime.now,comment='创建时间') + update_time = Column(DateTime,default=datetime.now,onupdate=datetime.now,comment='更新时间') + is_deleted = Column(Boolean,default=False,comment='判断是否删除') +