我知道在 Django 中,我可以使用 ModelName.objects.filter() 之类的东西从数据库中获取对象。
CherryPy 中是否有类似的模式?
是的,但不是本地人。有几个 python ORM 似乎与具有与 django 类似的语法的樱桃派一起工作得很好。SQLAlchemy 是一个非常流行且支持良好的 ORM。它有一个庞大的活跃社区,可能是事实上的 python ORM。在cherrypy网站上发布了一个有助于集成的工具。
来自维基百科:
对象关系映射器:
SQLAlchemy — Python 应用程序的数据库后端和 ORM。TurboGears 2.x 使用 CherryPy 作为服务器,使用 SQLAlchemy 作为其默认 ORM。[13]
SQLObject — 一种流行的 ORM,用于为您的数据库提供对象接口。支持许多常见的数据库后端:发行版中包括 MySQL、PostgreSQL、SQLite、Sybase SQL Server、MaxDB、Microsoft SQL Server 和 Firebird。TurboGears 1.x 使用 CherryPy 作为服务器,使用 SQLObject 作为 ORM。[14]
Storm — Canonical Ltd.(Ubuntu 的制造商)的 ORM
Dejavu[15] — 用于 Python 应用程序的公共领域、线程安全的 ORM