首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在 flask 中使用 SQLAlchemy

在 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/

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180103G0XRHH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券