from sqlalchemy import ForeignKey, Column, Integer, String, Date, Table from sqlalchemy.orm import relationship from database import Base from model.teacher_model import teacher_student # 。创建新学生记录(包含字段:学生编号ID、学生班级、学生姓名、籍贯、毕业院校、专业、入学时间、毕 # 业时间、学历、顾问编号、年龄、性别).可选增加字段:状态(在读、进入就业、已就业) # 。查询学生信息(支持按编号、姓名、班级等条件筛选)、 # 更新学生信息。 # 逻辑删除学生。 # 。提示:可设计学号生成规则,而非单一自增,可选扩展:支持上传Excel 文件批量创建学生 class Student(Base): __tablename__ = 'student' sid = Column(Integer, primary_key=True, autoincrement=True) student_no=Column(String(50), unique=True, nullable=False) student_name=Column(String(50), nullable=False) native_place=Column(String(200), nullable=True) school=Column(String(100), nullable=True) major=Column(String(50), nullable=True) enrollment_time=Column(Date, nullable=True) graduation_time=Column(Date, nullable=True) education=Column(String(100), nullable=True) age=Column(Integer, nullable=True) gender=Column(String(20), nullable=True) state=Column(String(20),nullable=True) flag=Column(Integer,nullable=False,default=1) class_id = Column(Integer, ForeignKey('classes.cid'), nullable=False) teachers = relationship("Teacher", secondary=teacher_student, back_populates="students") advisor = relationship("Advisor", back_populates="students") advisor_id = Column(Integer, ForeignKey('advisor.id'), nullable=False) scores=relationship("Score",back_populates="student") classes = relationship("Classes", back_populates="students")