36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
# model/stu_model.py
|
|
# 学生信息表模型
|
|
from sqlalchemy import Column, Integer, String, Date, ForeignKey
|
|
from sqlalchemy.orm import relationship
|
|
from database import Base
|
|
|
|
|
|
class StuInfo(Base):
|
|
__tablename__ = "stu_info"
|
|
|
|
id = Column(String(15), primary_key=True)
|
|
cls_id = Column(String(15), ForeignKey("cls_mgmt.id"), nullable=False)
|
|
name = Column(String(20), nullable=False)
|
|
gender = Column(String(1), default="男")
|
|
age = Column(Integer, default=None)
|
|
hometown = Column(String(50), default=None)
|
|
grad_school = Column(String(50), default=None)
|
|
major = Column(String(50), default=None)
|
|
education = Column(String(20), default=None)
|
|
enr_date = Column(Date, default=None)
|
|
grad_date = Column(Date, default=None)
|
|
advisor_id = Column(String(15), ForeignKey("advisor_info.id"), default=None)
|
|
state = Column(String(10), default="在读")
|
|
is_deleted = Column(Integer, nullable=False, default=0)
|
|
|
|
cls = relationship("ClsMgmt", back_populates="stu")
|
|
|
|
score = relationship("StuScore", back_populates="student")
|
|
|
|
adv = relationship("AdvisorInfo", back_populates="students")
|
|
|
|
stu_emp_mgmt = relationship(
|
|
"StudentEmployManage",
|
|
back_populates="stu",
|
|
uselist=False,
|
|
) |