当我们使用ORM库来封装数据库操作时,增删改查操作也可以通过ORM库提供的方法来实现。以下是一个使用SQLAlchemy实现增删改查的例子:
代码语言:javascript复制from flask import Flask, jsonify, request
from models import db, User
app = Flask(__name__)
# 添加新用户
@app.route('/users', methods=['POST'])
def create_user():
name = request.json.get('name')
email = request.json.get('email')
user = User(name=name, email=email)
db.session.add(user)
db.session.commit()
return jsonify(user)
# 获取所有用户
@app.route('/users', methods=['GET'])
def get_users():
users = User.query.all()
return jsonify(users)
# 根据ID获取用户
@app.route('/users/<int:user_id>', methods=['GET'])
def get_user(user_id):
user = User.query.get_or_404(user_id)
return jsonify(user)
# 更新用户信息
@app.route('/users/<int:user_id>', methods=['PUT'])
def update_user(user_id):
user = User.query.get_or_404(user_id)
name = request.json.get('name')
email = request.json.get('email')
user.name = name
user.email = email
db.session.commit()
return jsonify(user)
# 删除用户
@app.route('/users/<int:user_id>', methods=['DELETE'])
def delete_user(user_id):
user = User.query.get_or_404(user_id)
db.session.delete(user)
db.session.commit()
return '', 204
在这个例子中,我们定义了四个路由函数,用于创建、读取、更新和删除用户。在创建用户的路由函数中,我们从请求的JSON数据中获取用户名称和电子邮件,创建一个新的User对象并将其添加到数据库中。在读取用户的路由函数中,我们使用User.query.all()查询所有用户,并将查询结果转换为JSON格式。在获取特定用户的路由函数中,我们使用User.query.get_or_404()方法查找用户,如果找不到用户,则返回404错误。在更新用户的路由函数中,我们使用User.query.get_or_404()方法查找用户,然后更新用户的名称和电子邮件,并将更改保存到数据库中。在删除用户的路由函数中,我们使用User.query.get_or_404()方法查找用户,然后将其从数据库中删除。