TurboGears – SQLAlchemy


虽然可以在 TurboGears 应用程序中使用 SQL 对任何关系数据库执行 CRUD 操作,但建议使用 SQLAlchemy,Python 工具包是一个强大的对象关系映射器,可为应用程序开发人员提供 SQL 的全部功能和灵活性。除了通过 SQLAlchemy 支持基于 SQL 的数据库之外,TurboGears 还通过 Ming 支持 MongoDB 数据库。本节将讨论 SQLAlchemy 的功能。

sql

什么是 ORM(对象关系映射)?

大多数编程语言平台都是面向对象的。另一方面,RDBMS 服务器中的数据存储为表。对象关系映射是将对象参数映射到底层 RDBMS 表结构的技术。ORM API 提供了执行 CRUD 操作的方法,而无需编写原始 SQL 语句。

奥姆

当使用变速箱工具包中的“快速启动”命令创建 TurboGears 项目时,默认情况下通过以下配置设置启用 SQLAlchemy 支持 -

config['use_sqlalchemy'] = True
config['sqlalchemy.url'] = 'sqlite:///devdata.db'

“快速启动”项目还在其中创建了一个模型包。例如,“Hello”项目将具有 Hello\hello\model。在此包中创建以下文件 -

  • __init__.py - 这是设置数据库访问的地方。应用程序的模型对象导入到该模块中。它还具有一个 DBSession(全局会话管理器)和一个 DeclarativeBase(所有模型类的基类)。

  • auth.py - 这是定义身份验证堆栈使用的模型的地方。其他数据库模型作为单独的模块存储在此包中,并添加到 __init__.py 中。