TurboGears – SQLAlchemy



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

Sql

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

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

Orm

当使用 gearbox 工具包中的“quickstart”命令创建 TurboGears 项目时,默认情况下通过以下配置设置启用 SQLAlchemy 支持:

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

“quickstarted”项目还在其中创建了一个 models 包。例如,“Hello”项目将拥有 Hello\hello\model。在此包中创建以下文件:

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

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

广告