Files
stu_system/model/scores.py
T
2026-09-21 17:39:16 +08:00

38 lines
1.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# from sqlalchemy import Column, Integer, Boolean, ForeignKey,String
# from sqlalchemy.orm import relationship
# from database import Base
# class Scores(Base): # 学生考核成绩管理表模型
# __tablename__ = "scores"
# scores_id = Column(Integer, primary_key=True, autoincrement=True) # 成绩自增长序号 是本表主键(1,2,3,4,5,6)
# id = Column(String(30), ForeignKey('student.id')) #学生ID 是Student表的外键(1,1,1,2,2,2)
# exam_round = Column(Integer, nullable=False) #考核序次 不唯一(1,2,3,1,2,3)
# score = Column(Integer) #成绩 不唯一 可None
# is_warning= Column(Boolean, default=False) #成绩红线预警 默认没预警 (高于60写入"True",低于60写入"False")
# is_deleted = Column(Boolean, default=False) #逻辑删除标记 默认没删除 (删除写入"True",不删除写入"False")
#
# student = relationship("Student", back_populates="scores") # 外键 多对一 关联Student
# def __repr__(self): # 魔法方法打印展示学生ID、对应序次的成绩
# return f"<Scores(学生ID:{self.id}, 考核序次:{self.exam_round}, 成绩:{self.score})>"
from sqlalchemy import Column, Integer, Boolean, ForeignKey, String
from sqlalchemy.orm import relationship
from database import Base
class Scores(Base):
__tablename__ = "scores"
scores_id = Column(Integer, primary_key=True, autoincrement=True)
id = Column(String(20), ForeignKey('students.id')) # ← 关键修复
exam_round = Column(Integer, nullable=False)
score = Column(Integer)
is_warning = Column(Boolean, default=False)
is_deleted = Column(Boolean, default=False)
student = relationship("Student", back_populates="scores")
def __repr__(self):
return f"<Scores(学生ID:{self.id}, 考核序次:{self.exam_round}, 成绩:{self.score})>"