前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flask-RESTfu数据库操作的封装和使用(三)

Flask-RESTfu数据库操作的封装和使用(三)

原创
作者头像
堕落飞鸟
发布2023-05-06 16:10:40
3330
发布2023-05-06 16:10:40
举报
文章被收录于专栏:飞鸟的专栏

当我们使用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()方法查找用户,然后将其从数据库中删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档