【问题标题】:Do any Python ORMs (SQLAlchemy?) work with Google App Engine?是否有任何 Python ORM(SQLAlchemy?)可与 Google App Engine 一起使用?
【发布时间】:2010-11-21 10:58:45
【问题描述】:

我想使用 Python 版本的 App Engine,但不是专门为 Google Data Store 编写代码,而是想使用可以附加到 Big Table 的通用 Python ORM 创建我的模型,或者,如果我愿意,可以在以后的某个时间使用常规数据库。是否有任何 Python ORM(例如 SQLAlchemy)允许这样做?

【问题讨论】:

    标签: python google-app-engine sqlalchemy orm


    【解决方案1】:

    从技术上讲,这不会称为 ORM(对象关系映射器),而是称为 DAL(数据库抽象层)。 ORM 部分对 AppEngine 来说并不是很有趣,因为 API 已经处理了对象映射并进行了一些简单的关系映射(请参阅 RelationProperty)。

    还要意识到 DAL 永远不会让您在 AppEngine 的数据存储和“普通”sql 数据库(如 mysql)之间切换,因为它们的工作方式非常不同。它可以让你在不同的键值存储之间切换,比如 reddis、mongo 或 tokyo cabinet。但由于它们都具有非常不同的特性,我真的会在使用之前三思而后行。

    最后,DAL 传统上位于 DB 接口之上,但使用 AppEngine 的 api,您可以实现自己的“存根”,基本上可以让您在其 api 上使用其他存储后端。 Mongo 的人为 MongoDB 写了one,这非常好。 dev_appserver 带有一个基于文件系统的服务器。

    现在回答:是的,有一个!它是web.py 的一部分。由于上述原因,我还没有真正尝试过,所以我不能说它是否好。

    PS。我知道 Ruby 也有一个不错的 DAL 项目用于键值存储,但我现在找不到它......也许在某个时候移植到 Python 会很好。

    【讨论】:

    【解决方案2】:

    自 Google 推出 Cloud SQL 以来,现在他们这样做了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-05
      • 2023-04-11
      • 1970-01-01
      • 2017-12-13
      • 1970-01-01
      • 2011-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多