删除目录「model」

This commit is contained in:
2026-09-21 20:12:17 +08:00
parent d497857ce3
commit 3fc610f9fa
2 changed files with 0 additions and 140 deletions
-116
View File
@@ -1,116 +0,0 @@
# dao/score_dao.py
from sqlalchemy.orm import Session
from model.score import Score
from model.student import Student
# 查
# 查一个学生所有成绩
def get_score(db: Session, student_id: int):
return db.query(Score).filter(
Score.student_id == student_id,
Score.is_deleted == 0,
).order_by(Score.exam_seq.asc()).all()
# 查某学生的某次成绩
def get_one_score(db: Session, student_id: int, exam_seq: int):
return db.query(Score).filter(
Score.student_id == student_id,
Score.exam_seq == exam_seq,
Score.is_deleted == 0,
).first()
# 查不及格的
def get_warning(db: Session):
return db.query(Score).filter(
Score.is_warning == 1,
Score.is_deleted == 0,
).all()
# 录
# 录信息
def add_score(db: Session, student_id: int, exam_seq: int, score: float):
stu = db.query(Student).filter(Student.id == student_id).first()
if not stu:
return None, "学生不存在"
exists = get_one_score(db, student_id, exam_seq)
if exists:
return None, "该学生这次成绩已录过"
new_score = Score(
student_id=student_id,
exam_seq=exam_seq,
score=score,
is_warning=1 if score < 60 else 0,
is_deleted=0,
)
db.add(new_score)
db.commit()
db.refresh(new_score)
return new_score, None
# 改
# 改成绩
def update_score(db: Session, student_id: int, exam_seq: int, new_score: float):
obj = get_one_score(db, student_id, exam_seq)
if not obj:
return None, "成绩不存在或已删除"
obj.score = new_score
# 如果不及格 预警重置
obj.is_warning = 1 if new_score < 60 else 0
db.commit()
db.refresh(obj)
return obj, None
# 逻辑删除
def delete_score(db: Session, student_id: int, exam_seq: int):
# 把删除的学生0改成1
obj = get_one_score(db, student_id, exam_seq)
if not obj:
return None, "成绩不存在或已删除"
# 0 → 1
obj.is_deleted = 1
db.commit()
return obj, None
-24
View File
@@ -1,24 +0,0 @@
# model/score.py
from sqlalchemy import Column, Integer, Float, ForeignKey, DateTime
from sqlalchemy.orm import relationship
from datetime import datetime
from database import Base
class Score(Base):
__tablename__ = "score"
id = Column(Integer, primary_key=True, autoincrement=True) # 主键
student_id = Column(Integer, ForeignKey("student.id"), nullable=False) #外键
exam_seq = Column(Integer, nullable=False)
score = Column(Float, nullable=False)
is_warning = Column(Integer, default=0) #低分预警 0正常 1不及格
is_deleted = Column(Integer, default=0) #是否被逻辑删除
create_time = Column(DateTime, default=datetime.now)
student = relationship("Student", back_populates="scores")