from sqlalchemy.orm import Session from model.class_model import Classes from schema.class_schema import ClassAdd #新增班级 # 定义新增班级的函数,需要两个参数:db数据库通道、class_add前端传来的班级数据 def create_class(db: Session, class_add: ClassAdd): # 新建一个班级对象,对应数据库里一行空白记录 new_class = Classes() # 把前端传过来的班级名称,赋值给这个新对象 new_class.class_name = class_add.class_name # 开学时间 new_class.start_time = class_add.start_time # 班主任 new_class.head_teacher = class_add.head_teacher # 任课老师 new_class.teacher = class_add.teacher db.add(new_class) # 提交写入数据库 db.commit() # 刷新 db.refresh(new_class) return new_class #根据id查询单个班级 def get_class_by_cid(db: Session, cid: int): result = db.query(Classes).filter(Classes.cid == cid, Classes.is_del == 1).first() return result #根据班级名称查询 def get_class_by_name(db: Session,name:str): result = db.query(Classes).filter(Classes.class_name == name, Classes.is_del == 1).first() return result # 删除班级 def delete_class(db: Session, cid: int): # 根据班级编号,去数据库找到对应的班级 class_obj = db.query(Classes).filter(Classes.cid == cid).first() # 如果没找到这个班级,返回False if not class_obj: return False # 从数据库里删掉这条班级数据 db.delete(class_obj) # 提交操作 db.commit() # 删除成功,返回True return True # 修改班级信息 def update_class(db: Session, cid: int, class_add: ClassAdd): # 根据班级编号,查询数据库找到对应的班级 class_obj = db.query(Classes).filter(Classes.cid == cid).first() # 如果没有找到这个班级,直接返回空 if not class_obj: return None # 把前端传过来的新信息,覆盖原来班级对象里面的数据 class_obj.class_name = class_add.class_name class_obj.start_time = class_add.start_time class_obj.head_teacher = class_add.head_teacher class_obj.teacher = class_add.teacher # 提交,把修改保存到数据库 db.commit() # 返回修改完成后的班级信息 return class_obj