49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
from model import Session
|
|
from model import Scores
|
|
def get_db():
|
|
db = Session()
|
|
try:
|
|
yield db
|
|
finally:
|
|
db.close()
|
|
# @ScoreAPI.post('/scores')
|
|
def a(s,db):
|
|
d = s.model_dump()
|
|
o = Scores(**d)
|
|
db.add(o)
|
|
db.commit()
|
|
# @ScoreAPI.delete('/scores')
|
|
def a1(stu_id,db):
|
|
r=db.query(Scores).filter(Scores.stu_id==stu_id).delete()
|
|
db.commit()
|
|
return r
|
|
# @ScoreAPI.put('/scores')
|
|
def a2(stu_id,exam_seq,s,db):
|
|
r = db.query(Scores).filter((Scores.stu_id == stu_id) & (Scores.exam_seq == exam_seq)).update(
|
|
s.model_dump(exclude={'stu_id', 'exam_seq'}))
|
|
db.commit()
|
|
return r
|
|
#@ScoreAPI.get('/scores')
|
|
def a3(stu_id,exam_seq,db):
|
|
r=db.query(Scores).filter((Scores.stu_id==stu_id)&(Scores.exam_seq==exam_seq)).first()
|
|
return r
|
|
# @ScoreAPI1.put('/scores/{stu_id}',tags=['软删除'])
|
|
def a4(stu_id, exam_seq, db):
|
|
r=db.query(Scores).filter((Scores.stu_id==stu_id)&(Scores.exam_seq==exam_seq)).update({Scores.deleted:0})
|
|
db.commit()
|
|
return r
|
|
# @ScoreAPI1.get('/scores/{stu_id}',tags=['总分,平均分,最大值,最小值'])
|
|
def a5(stu_id,db):
|
|
r = db.query(Scores).filter((Scores.stu_id == stu_id)).all()
|
|
s = 0
|
|
a = []
|
|
for i in r:
|
|
s += i.score
|
|
a.append(i.score)
|
|
return s,r,a
|
|
|
|
|
|
|
|
|
|
|