我正在评估并考虑将CherryPy用于一个基本上是客户端(浏览器)的JavaScript前端的项目,该项目与后端的Python web服务进行对话。所以,我真的需要一些快速和轻量级的后端,我可以使用Python实现,然后通过ORM(浏览器的JSON)与PostgreSQL DB对话。
我也在看Django,我喜欢它,因为它的ORM是内置的。然而,我认为Django可能比我真正需要的要多一点(也就是说,比我真正需要的更多特性==慢?)。
有没有人有过使用不同Python ORM解决方案的经验,这些解决方案可以比较和对比它们的特性和功能、速度、效率等。?
如果您正在寻找轻量级并且已经熟悉django风格的声明性模型,请查看peewee: https://github.com/coleifer/peewee
示例:
有关更多示例,请查看docs。
SQLAlchemy功能更全、功能更强大(使用DataMapper模式)。Django ORM有一个更清晰的语法,并且更易于编写(ActiveRecord模式)。我不知道性能差异。
SQLAlchemy还有一个declarative layer隐藏了一些复杂性,并使其具有更类似于Django ORM的ActiveRecord风格语法。
我不担心Django“太重”,它已经足够解耦了,如果您想使用ORM,就可以不必导入其余的。
也就是说,如果我已经在web层使用CherryPy并且只需要一个ORM,我可能会选择SQLAlchemy。
Storm可以说是最简单的API:
当您需要执行以下操作时,可以轻松地使用原始SQL:
相关问题 更多 >
编程相关推荐