54 lines
1.4 KiB
Python
54 lines
1.4 KiB
Python
from model.teacher_model import Teacher
|
||||
|
|
|
|||
|
|
|
|||
|
|
def add_teacher_dao(t,db):
|
|||
|
|
try: #判断是都已存在
|
|||
|
|
r = db.query(Teacher).filter(Teacher.teacher_id==t['teacher_id']).first()
|
|||
|
|
if r:
|
|||
|
|
return None #已存在,交给上层判断
|
|||
|
|
obj = Teacher(**t)
|
|||
|
|
db.add(obj)
|
|||
|
|
|
|||
|
|
db.commit()
|
|||
|
|
db.refresh(obj) #拿回自增id,create_time等
|
|||
|
|
return obj
|
|||
|
|
except Exception:
|
|||
|
|
db.rollback()
|
|||
|
|
return False
|
|||
|
|
|
|||
|
|
def update_teacher_dao(teacher_id,data,db): #data:新增的内容
|
|||
|
|
try: #数据更新有返回值,返回的是影响的行数
|
|||
|
|
rows = db.query(Teacher).filter(Teacher.teacher_id == teacher_id).update(data)
|
|||
|
|
db.commit()
|
|||
|
|
return rows
|
|||
|
|
except Exception:
|
|||
|
|
db.rollback()
|
|||
|
|
return False
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
def get_teacher_dao(teacher_id=None,teacher_name=None,db=None):
|
|||
|
|
q = db.query(Teacher)
|
|||
|
|
if teacher_id:
|
|||
|
|
q = q.filter(Teacher.teacher_id==teacher_id)
|
|||
|
|
if teacher_name:
|
|||
|
|
q = q.filter(Teacher.teacher_name.like (f'%{teacher_name}%'))
|
|||
|
|
return q.all() #返回ORM对象列表
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
def delete_teacher_dao(teacher_id,db):
|
|||
|
|
try: #删除有返回值,删除的行数
|
|||
|
|
rows = (db.query(Teacher)
|
|||
|
|
.filter(Teacher.teacher_id == teacher_id)
|
|||
|
|
.delete())
|
|||
|
|
db.commit()
|
|||
|
|
return rows
|
|||
|
|
except Exception:
|
|||
|
|
db.rollback()
|
|||
|
|
return 0
|
|||
|
|
|
|||
|
|
|
|||
|
|
|