我正在评估和研究将 CherryPy 用于一个项目,该项目基本上是来自客户端(浏览器)的 JavaScript 前端,它与后端的 Python Web 服务通信。所以,我真的需要一些快速和轻量级的后端,我可以使用 Python 实现,然后通过 ORM(JSON 到浏览器)与 PostgreSQL DB 对话。
我也在看我喜欢的 Django,因为它的 ORM 是内置的。但是,我认为 Django 可能比我真正需要的多一点(即比我真正需要的功能更多 == 更慢?)。
任何人都有不同的 Python ORM 解决方案的经验,可以比较和对比它们的特性和功能、速度、效率等?
SQLAlchemy 功能更全面,功能更强大(使用 DataMapper 模式)。Django ORM 具有更简洁的语法并且更易于编写(ActiveRecord 模式)。我不知道性能差异。
SQLAlchemy 还有一个声明层,它隐藏了一些复杂性,并为其提供了一种更类似于 Django ORM 的 ActiveRecord 样式的语法。
我不会担心 Django “太重”。它已经足够解耦,您可以根据需要使用 ORM而无需导入其余部分。
也就是说,如果我已经将 CherryPy 用于 Web 层并且只需要一个 ORM,我可能会选择 SQLAlchemy。