def delUser(id): ''' 根据id删除用户 ''' if id == None: return Result(error="输入参数不可为空") try: db_session.query(User).filter(User.id == id).delete() db_session.commit() except Exception as e: db_session.rollback() return Result(error=f"删除用户失败,失败原因:{e}") finally: db_session.close() return Result(msg="用户删除成功")
def findUserById(id): ''' 根据id查询用户 ''' if id == None: return Result(error="输入参数不可为空") try: user = User.query.filter_by(id == id).first_or_404() print(user) except Exception as e: return Result(error=f"查询失败,失败原因:{e}") result = {'id': user.id, 'name': user.name, 'email': user.email} print(user.__dict__) return json.dumps(result,ensure_ascii=False)
def findUserById(id): ''' 根据id查询用户 ''' if id == None: return Result(error="输入参数不可为空") try: user = db_session.query(User).filter(User.id == id).first() except Exception as e: return Result(error=f"查询失败,失败原因:{e}") if user == None: return Result(error="没有查询到用户") #对象如何转换为json result = {'id': user.id, 'name': user.name, 'age': user.age} print(user.__dict__) return json.dumps(result, ensure_ascii=False)
def userList(): ''' 查询所有用户 ''' # ORM查询语句 try: users = db_session.query(User).all() except Exception as e: return Result(error=f"查询失败,失败原因:{e}") if users == None: return Result(error="没有用户") para = [] for row in users: user = {'id': row.id, 'name': row.name, 'age': row.age} para.append(user) # indent参数根据数据格式缩进显示 # 输出真正的中文需要指定ensure_ascii=False return json.dumps(para, ensure_ascii=False)
def get(self, arg): ''' 根据name模糊查询用户 ''' name = arg if name == None or name.strip() == "": return Result(error="输入参数不可为空") try: users = User.query.filter(User.name.like('%%%s%%' % name)).all() if len(users) == 0: return Result(error="没有查询到用户") para = [] for row in users: user = {'id': row.id, 'name': row.name, 'age': row.email} para.append(user) except Exception as e: return Result(error=f"查询失败,失败原因:{e}") # indent参数根据数据格式缩进显示 # 输出真正的中文需要指定ensure_ascii=False return json.dumps(para, ensure_ascii=False)
def addUser(): ''' 添加用户 ''' json = request.json name = json.get("name").strip() age = json.get("age").strip() if name == "": return Result(error="用户姓名不可为空") if age == "": return Result(error="用户年龄不可为空") user = User(name=name, age=age) try: db_session.add(user) db_session.commit() except Exception as e: db_session.rollback() return Result(error=f"添加用户失败,失败原因:{e}") return Result(msg="用户添加成功")
def post(self): ''' 添加用户 ''' json = request.json name = json.get("name").strip() email = json.get("email").strip() pswd = json.get("pswd").strip() if name == "": return Result(error="用户姓名不可为空") if email == "": return Result(error="邮箱不可为空") user = User(name=name, email=email, pswd=pswd) print(user) try: db.session.add(user) db.session.commit() except Exception as e: db.session.rollback() return Result(error=f"添加用户失败,失败原因:{e}") return Result(msg="用户添加成功")
def findUserByName(name): ''' 根据name模糊查询用户 ''' if name == None or name.strip() == "": return Result(error="输入参数不可为空") print('=====================') print(name) #传入中文会乱码 print('=====================') try: users = db_session.query(User).filter(User.name.like('%%%s%%' % name)).all() if len(users) == 0: return Result(error="没有查询到用户") para = [] for row in users: user = {'id': row.id, 'name': row.name, 'age': row.age} para.append(user) except Exception as e: return Result(error=f"查询失败,失败原因:{e}") # indent参数根据数据格式缩进显示 # 输出真正的中文需要指定ensure_ascii=False return json.dumps(para, ensure_ascii=False)