Database & ORM

Database Access

项目默认基于Flask-SQLAlchemy实现对数据库的访问,生成项目文件 <proj>/app.py 中包含了 SQLAlchemy 对象的初始化方式,在项目其他位置可以通过如下方式获取该对象:

from <proj>.app import db

由于默认 conf/<proj>.py 中大写配置会自动注入到Flask的config中,因此我们可以在 conf/<proj>.py 中对数据库进行详细配置,具体的配置项可参考Flask-SQLAlchemy文档: http://flask-sqlalchemy.pocoo.org/config/

Table to Model

在设计好数据库表之后,通过运行如下命令自动在 <proj>.models 模块中生成数据库表对应的model:

$ bash bin/manage table2model

我们可以通过修改 table2model_dest 配置更改model存储的路径。

Model ⟺ dict

我们通过让生成的model继承 BaseModelMixin 注入了两个成员函数:

  • from_dict(dict_obj) : classmethod,将 dict 数据转为model 。

  • to_dict() : method, 将model转变为 dict