55 lines
1.3 KiB
Python
55 lines
1.3 KiB
Python
from model.class_model import Class_info
|
|
|
|
def add_class_dao(o,db):
|
|
try:
|
|
o1 = Class_info( **o) # 将字典解析成键值对关键字参数输入 title = xxx, userid = XXX
|
|
db.add(o1)
|
|
except:
|
|
db.rollback()
|
|
return False
|
|
else:
|
|
db.commit()
|
|
return True
|
|
|
|
def update_class_dao(class_id,update_data,db):
|
|
try: # 数据更新是有返回值的,返回的是影响的行数
|
|
rows = db.query( Class_info ).filter( Class_info.class_id == class_id ).update( update_data )
|
|
except:
|
|
db.rollback()
|
|
return False
|
|
else:
|
|
db.commit()
|
|
return rows
|
|
|
|
|
|
def get_class_dao(class_name,db):
|
|
try:
|
|
rows = db.query(Class_info).filter(Class_info.class_name == class_name).filter(Class_info.is_deleted==0).all()
|
|
except:
|
|
db.rollback()
|
|
return False
|
|
else:
|
|
db.commit()
|
|
return rows
|
|
|
|
|
|
|
|
class Student_delect_Dao:
|
|
@staticmethod
|
|
def soft_delete_student(db, class_id: str):
|
|
# 先查询is_deleted为0的有效学生数据
|
|
query = db.query(Class_info).where(
|
|
Class_info.class_id == class_id,
|
|
Class_info.is_deleted == 0
|
|
)
|
|
result = db.execute(query)
|
|
target_student = result.scalar_one_or_none()
|
|
return target_student
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|