26

除了Twistar之外,还有其他异步 Python ORM吗?

我正在寻找构建在 tornado 之上的用于非阻塞 API 的轻量级 ORM。当然,我可以使用 momoko 编写原始 SQL 查询,但我想使用对象。

4

7 回答 7

15

是的!查看peeweepeewee-async扩展。免责声明:扩展目前仅适用于 PostgreSQL,我是扩展的作者 :)

它不是专门为 Tornado 设计的,但 Tornado 可以在异步事件循环上运行。

于 2014-10-30T21:22:37.683 回答
5

5年了,变化很大。我们将GINO编写为基于asyncpgSQLAlchemy 核心的轻量级 ORM 。它仅适用于 asyncio 和 PostgreSQL。GINO 称为“GINO 不是 ORM”,因为它几乎没有应用任何常见的 ORM 模式,以便明确和简单。

于 2017-08-12T03:50:33.420 回答
4

看看 Tortoise ORM

它的目标是成为一个全功能的ORM灵感Django syntax,但仅限于 asycnio。由于Tornado 5.0在 asyncio 上运行,它应该可以正常工作。

于 2018-11-26T10:43:38.603 回答
2

不存在。唯一可以考虑接近轻量级的 ORM 是PeeWee,这不是异步的。ORM 很难写,更难写好。它需要有一个漂亮、干净的 API,暴露底层数据库的许多特性,并且高效。一项艰巨的任务!

Python 的 ORM 并不多,异步的甚至更少。对不起。

于 2012-06-01T22:16:12.670 回答
1

如果使用 mongo,您可以查看 Asyncmongo(不是 orm,但让您访问您的数据异步) https://github.com/bitly/asyncmongo

如果感兴趣,请参阅此网络研讨会的视频和幻灯片:“使用 Python 和 Tornado 的异步 MongoDB” http://www.10gen.com/presentations/webinar/Asynchronous-MongoDB-with-Python-and-Tornado

于 2012-06-06T18:52:19.650 回答
1

您可能想看看Monguo,这是一个“功能齐全的异步 MongoDB ORM,带有用于 Tornado 应用程序的电机驱动程序”,正如它所描述的那样。

于 2014-01-31T17:54:03.397 回答
0

你可能想看看 umysqldb( https://github.com/hongqn/umysqldb ),一个 MySQLdb 兼容的 Ultramysql 包装器。ultramysql 通过猴子补丁与 gevent 兼容。

于 2015-01-17T13:53:18.920 回答