仔细研究sqlAlchemy。
您可以使用sqlite进行测试和开发。
您可以使用MysqL投入生产-基本上无需更改应用程序。
DB- API尽管已被广泛遵循,但它具有足够的灵活性,以至于(1)您无法与基础RDBMS中的sql变体隔离开来;(2)仍然存在一些难以隐藏的特定于DB驱动程序的功能。
另一个很好的ORM层是Django的一部分。您可以(不费吹灰之力)仅使用Django ORM,而无需使用其余Django Web框架。
优先于DB-API使用ORM层(sqlAlchemy或sqlObject)。
为什么?您的模型应该是一个坚实,清晰,经过深思熟虑的OO模型。关系映射应该排在对象模型之后。sqlAlchemy使这成为一种合理的方法。
在正常情况下,将发生“数据库抽象层”。实际上,由于使用了DB-API(如sqlAlchemy所用),您提供了两个抽象层:ORM和DB-API。