Python Flask Web 第十一课 —— 使用 Flask-SQLAlchemy 管理数据库
2016-06-07 16:01
831 查看
alchemy:炼金术,魔力;
flask-sqlalchemy 是一个 flask 扩展,其简化了在 Flask 程序中使用 SQLAlchemy 的操作。SQLAlchemy 是一个很强大的关系型数据库框架,支持多种数据库后台。
ORM:Object-Relational Mapper;
ODM:Object-Document Mapper;
ORM 和 ODM 把对象业务转换成数据库业务会有一定的损耗。大多数情况下,这种性能的降低微不足道。一般情况下,ORM 和 ODM 对生产率的提升远远超过了这一丁点儿的性能降低。
(2)配置
flask-sqlalchemy 创建的数据库实例为模型提供了一个基类以及一系列辅助类和辅助函数,可用于定义模型的结构。
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
相关文章推荐
- python定义多维字典
- Python的学习
- Python的Flask框架中配置多个子域名的方法讲解
- 使用python通过selenium模拟打开chrome窗口报错 出现 "您使用的是不受支持的命令行标记:--ignore-certificate-errors
- Python的Flask框架中SERVER_NAME域名项的配置教程
- python实现hive自动化测试
- python itertools模块指南
- Python之re模块 —— 正则表达式操作[转]
- python 高阶函数(二)
- python- 迭代器与生成器
- python suds 一坑
- 浅谈五大Python Web框架
- Python爬虫进阶三之Scrapy框架安装配置
- Python学习笔记-逻辑运算口诀表
- 每天一点python——缺失值处理
- Python 类的定义、继承及使用对象
- Python实战之MySQL数据库操作
- python2.7的Numpy和Matplotlib即依赖库dateutil和pyparsing的安装
- Python3环境搭建(Windows)演示
- Python3环境搭建(Windows)演示