Files
stu/dao/teacher_dao.py
T
2026-09-22 17:29:35 +08:00

54 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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