Files
student_system/model/student_model.py
T
2026-09-21 19:22:31 +08:00

36 lines
1.8 KiB
Python

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")