from database import Base from datetime import datetime,date from sqlalchemy import * from sqlalchemy import Column, Integer, String, Date, JSON from sqlalchemy import Column, String, Date, Enum, DateTime, func from sqlalchemy.orm import declarative_base import enum class Class_info(Base): # python里的表名字 __tablename__ = 'class_info' # 实际数据库的表名字 class_id = Column(String(20) , primary_key=True , autoincrement=False , comment='班级编号,字符串类型手动维护') class_code = Column(String(20) # 对应数据库的varchar类型 , nullable=False ,comment='班级业务编码,格式示例:2026-CS-01'# 不允许为null ) class_name = Column(String(50) , nullable=False ,comment='所在班级显示名称,如“2026级计算机科学与技术1班”,直接用于前端展示' ) grade_year = Column(Date ,default=date.today ,comment='入学年级,如2026,用数值存储比字符串更便于按年级筛选、排序' ) # teacher_id = Column(Integer # , nullable=False # ,comment='班主任外键,关联教师表,一个班级对应一名班主任' # ) # # student_id = Column(Integer # , nullable=False # ,comment='学号 用来连接学生表' # ) enrollment_date = Column(Date ,default=date.today ,comment='班级正式入学日期' ) status = Column(Integer , nullable=False ,comment='班级正式入学日期' ) tags = Column(JSON , nullable=False ,comment='存储多维标签,例如:["重点班", "科技特长", "2026届"]' ) is_deleted = Column(Boolean, default=0, comment="0=数据存在 1=数据逻辑删除") create_time = Column(DATETIME , default=datetime.now # 默认值是当前时间 ) update_time = Column(DATETIME , default=datetime.now # 首次创建的时间跟更新时间一致 , onupdate=datetime.now ) class StudentClassIntermediate(Base): __tablename__ = "student_class_intermediate_table" id = Column(String(20), primary_key=True) class_id= Column(String(20)) student_id =Column(String(20)) is_deleted= Column(Integer) create_time= Column(DateTime) update_time= Column(DateTime)