Files
stu/dao/teacher_dao.py
T

54 lines
1.4 KiB
Python
Raw Normal View History

2026-09-22 17:29:35 +08:00
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