快速入门
Flask-SQLAlchemy 的使用是有趣的,对于基本应用异常的简单,并且为大型应用扩展也 是没有困难的。要完整的指导,请查阅 SQLAlchemy 类的 API 文档。
一个最小的应用
对于通常情况,只有一个 Flask 应用,你需要做的全部就是创建你的 Flask 应用, 选择加载你的配置,然后在创建 SQLALchemy 时把应用传递给它。
一旦创建,这个对象会包含 sqlalchemy 和 sqlalchemy.orm 中 的所有函数和助手。此外,它还提供了一个名为 Model 的类,用于作为声明 模型时的 delarative 基类:
要创建初始的数据库,只需要在交互式 Python shell 中导入 db 对象并 调用SQLAlchemy.create_all() 方法来创建表和数据库:
砰,你的数据库就好了。现在来创建一些用户:
但是它们还不在数据库中,所以让我们确保它们被添加进去:
访问数据库中的内容易如反掌:
简单关系
SQLAlchemy 聚合关系型数据库和关系型数据库善于处理关系的方面。如此,我们 可以创建一个有两张互相关联的表的应用作为例子:
首先让我们创建一些对象:
现在因为我们把 posts 声明为动态关系,并在反向引用中,它作为查询出现:
它的行为与通常的查询对象类似,所以我们可以用它获取与我们测试的“Python”分类 关联的所有帖子:
启蒙之路
你仅需要知道的与普通 SQLAlchemy 的区别是:
- SQLAlchemy 允许你访问下面的东西:
- sqlalchemy 和 sqlalchemy.orm 模块中的所有函数 和类
- 一个名为 session 的预配置范围会话
- metadata 属性
- engine 属性
- SQLAlchemy.create_all() 和 SQLAlchemy.drop_all() 方法,根据模型分别创建和删除表
- 一个 Model 基类,其实是一个配置好的 delarative 基类
- declarativ 基类 Model 的表现得像一个正规的 Python 类,而 附加了一个 query 属性用于查询模型 ( Model 和 BaseQuery )
- 你必须提交会话,但你不需要在请求的最后移除它, Flask-SQLAlchemy 已 经为你这么做了。
本文参考链接:https://blog.csdn.net/neweastsun/article/details/51789898