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

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

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

ORM封装

除了手动封装数据库操作之外,我们还可以使用ORM(对象关系映射)库来封装数据库操作。ORM库将数据库表和Python类映射到一起,使我们能够使用Python对象来操作数据库表。常用的ORM库包括SQLAlchemy和Peewee等。

以下是一个使用SQLAlchemy的例子:

代码语言:javascript
复制
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///my_app.db'
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)

    def __repr__(self):
        return '<User %r>' % self.name

在这个例子中,我们使用了Flask中的SQLAlchemy扩展来封装数据库操作。我们首先实例化了一个SQLAlchemy对象,并将其附加到Flask应用程序上。我们还定义了一个名为User的类,该类继承了db.Model,这样就可以将类与数据库表映射起来。在类中,我们定义了三个属性:id、name和email,这些属性将映射到数据库表的列。我们还定义了一个__repr__()方法,该方法在打印User对象时返回用户名称。

ORM使用

使用ORM库封装数据库操作后,我们可以使用Python对象而不是SQL查询来操作数据库表。以下是一个使用SQLAlchemy的例子:

代码语言:javascript
复制
from flask import Flask, jsonify
from models import db, User

app = Flask(__name__)

@app.route('/users')
def get_users():
    users = User.query.all()
    return jsonify(users)

在这个例子中,我们使用了在上一节中定义的User类来操作数据库表。我们在Flask应用程序中定义了一个名为get_users()的路由函数,该函数查询所有用户,并使用jsonify()函数将结果转换为JSON格式。

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

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

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

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

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