From 8b364805d16c5fd2f71dabeb8f33944b7b656619 Mon Sep 17 00:00:00 2001 From: dddd <1163562824@qq.com> Date: Mon, 21 Sep 2026 23:16:01 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8F=AD=E7=BA=A7api,schema,dao?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/class_api.py | 11 +++++------ dao/class_dao.py | 7 ++----- schemas/class_schema.py | 1 + 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/api/class_api.py b/api/class_api.py index e2ec439..c278f07 100644 --- a/api/class_api.py +++ b/api/class_api.py @@ -22,13 +22,12 @@ def post_classes(classes:ClassCreate,db=Depends(get_db)): # 定义更 @classes_router.put('/{id}',response_model=ClassResponse,summary='更新班级信息') -def put_classes(id:int,classes:ClassUpdate,db=Depends(get_db)): +def put_classes(classes:ClassUpdate,id:int,db=Depends(get_db)): updates = classes.model_dump( exclude_unset=True ) - r = update_classes_dao( id , db, updates=updates ) + r = update_classes_dao( id, db, updates ) if not r : raise HTTPException(status_code=500, detail='更新失败,该班级已不存在或服务器繁忙,请稍后更新!') - else : - return ClassResponse(detail='更新成功', total=1) + return ClassResponse(detail='更新成功', total=1 ,data = updates ) @classes_router.get('',summary='查询班级信息') @@ -48,8 +47,8 @@ def get_classes( id:int|None = None @classes_router.delete('/{id}',response_model=ClassResponse,summary='删除班级信息') def delete_classes(id:int,db=Depends(get_db)): - r = update_classes_dao( id , db ) - if r : + r = delete_classes_dao( id , db ) + if not r : return ClassResponse( total=1,data='已成功删除班级信息' ) else : raise HTTPException(status_code=500, detail='删除失败,该班级信息已不存在或服务器繁忙,请稍后更新!') \ No newline at end of file diff --git a/dao/class_dao.py b/dao/class_dao.py index 8cd86a0..ef28b6a 100644 --- a/dao/class_dao.py +++ b/dao/class_dao.py @@ -17,10 +17,7 @@ def post_classes_dao( c , db ): # 定义函数,设置两个 def update_classes_dao( class_id , db , updates ): try : - r = db.query( Classes ).filter( Classes.id == class_id , Classes.is_deleted == 0 ).first() - for k,v in updates.items() : - setattr( r, k, v) - + r = db.query(Classes).filter(Classes.id ==class_id , Classes.is_deleted == 0 ).update(updates) except : db.rollback() return False @@ -55,7 +52,7 @@ def get_classes_dao( class_id, class_no , class_name , page , page_size , db ): def delete_classes_dao( class_id , db ): try : - db.query( Classes ).filter( Classes.id == class_id , Classes.is_deleted == 0 ) .update( Classes.is_deleted == 1 ) + db.query( Classes ).filter( Classes.id == class_id , Classes.is_deleted == 0 ).update( Classes.is_deleted == 1 ) except : db.rollback() return False diff --git a/schemas/class_schema.py b/schemas/class_schema.py index ba717e8..cd30de2 100644 --- a/schemas/class_schema.py +++ b/schemas/class_schema.py @@ -3,6 +3,7 @@ from pydantic import BaseModel # 导入pydantic模块下的BaseModel from datetime import datetime,date # 导入datetime模块下的datetime,date类 + # ————定义"创建班级"的"请求体"模型———— class ClassCreate( BaseModel ): # "创建"班级信息的请求体模型 class_no: str # 班级编号",不可为空