前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在 flask 中使用 SQLAlchemy

在 flask 中使用 SQLAlchemy

作者头像
企鹅号小编
发布2018-01-04 09:22:32
1.1K0
发布2018-01-04 09:22:32
举报
文章被收录于专栏:数据库数据库

在 flask 中, 很多人喜欢通过 SQLAlchemy 来操作数据库。这种情况下推荐使用包代替模块, 把数据模型剥离到一个独立的模块中。这样的做法不是必须的, 但是更加合理。

Flask-SQLAlchemy Extension

SQLAlchemy 是一个通用的数据库抽象层和 ORM, 它需要一些额外的配置, Flask 中有一个扩展来处理这些。

Declarative

SQLAchemy 中的 declarative extension 是最近出现的一种方法。这种方法允许你一次性定义表单和数据模型, 这和 Django 的工作方式类似。

下面是一个database.py模块的例子:

我们自己定义的数据模型只需要继承上面代码中的Base就可以了。这个地方不用担心线程安全的问题,因为 SQLAlchemy 已经通过scoped_session帮我们处理了。

我们只需要把下面的代码放入我们的应用模块中就可以以 declarative 的方式来使用 SQLAlchemy 了。Flask 会在 request 结束或者应用退出时自动关闭 session:

下面的代码是一个数据模型的例子(可以放入 models.py中, e.g.):

创建数据库的时候可以使用init_db():

向数据库中插入记录:

查询也很简单:

注: 本文翻译自官方文档 http://flask.pocoo.org/docs/0.12/patterns/sqlalchemy/

本文来自企鹅号 - 全球大搜罗媒体

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

本文来自企鹅号 - 全球大搜罗媒体

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档