您的位置:首页 > 编程语言 > Python开发

Python Flask Web 第十一课 —— 使用 Flask-SQLAlchemy 管理数据库

2016-06-07 16:01 831 查看
alchemy:炼金术,魔力;

flask-sqlalchemy 是一个 flask 扩展,其简化了在 Flask 程序中使用 SQLAlchemy 的操作。SQLAlchemy 是一个很强大的关系型数据库框架,支持多种数据库后台。

1. ORM vs ODM

从易用性的角度考虑,如果直接比较数据库引擎和数据库抽象层,显然后者更优。数据库抽象层也称为,

ORM:Object-Relational Mapper;

ODM:Object-Document Mapper;

ORM 和 ODM 把对象业务转换成数据库业务会有一定的损耗。大多数情况下,这种性能的降低微不足道。一般情况下,ORM 和 ODM 对生产率的提升远远超过了这一丁点儿的性能降低。

2. flask-sqlalchemy 的安装与配置

(1)安装

pip install flask-sqlalchemy


(2)配置

import os
from flask_sqlalchemy import SQLAlchemy
basedir = os.path.abspath(os.path.split(__file__)[0])
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'data.sqlite'
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
db = SQLAlchemy(app)


3. 模型的定义

模型该术语表示的程序使用的持久化实体,在 ORM 中,模型一般为 Python 类,类中的属性对应数据库表中的列。

flask-sqlalchemy 创建的数据库实例为模型提供了一个基类以及一系列辅助类和辅助函数,可用于定义模型的结构。

class Role(db.Model):
__tablename__ = 'roles'
# __tablename__ 表名
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), unique=True)
def __repr__(self):
return '<Role %r>' % self.name
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: