我没有使用 ORM,而是考虑在没有 ORM(SQLObject/SQLAlchemy)的 Python 和 MySQL 中使用以下方法。我想就这是否可能产生任何负面的长期后果得到一些反馈,因为从短期来看,据我所知,这似乎很好。
而不是将数据库中的一行转换为对象:
- 每个表都由一个类表示
- 将一行作为字典检索
表示游标的对象提供对表的访问,如下所示:
cursor.mytable.get_by_ids(低,高)
移除意味着将 time_of_removal 设置为当前时间
所以基本上这消除了对 ORM 的需要,因为每个表都有一个类来表示它,并且在该类中,一个单独的 dict 表示每一行。
类型映射很简单,因为作为 python/blub 中的第一类对象的每个 dict(行)允许您知道对象的类,此外,Python 中的低级数据库库处理字段级别的类型转换为它们相应的应用程序级别类型。
如果您在这条路上发现任何潜在的问题,请告诉我。谢谢。