【发布时间】:2010-11-01 16:32:41
【问题描述】:
我对使用关系数据库还很陌生,所以我更喜欢使用良好的 ORM 来简化事情。我花时间评估不同的 Python ORM,我认为 SQLAlchemy 是我需要的。但是,我已经走到了精神上的死胡同。
我需要创建一个新表来与我在应用的播放器表中创建的每个播放器实例一起使用。我想我知道如何通过元数据更改表的名称然后调用 create 函数来创建表,但我不知道如何将其映射到新的动态类。
有人可以给我一些提示来帮助我克服大脑冻结吗?这甚至可能吗?
注意:如果我的要求更容易实现,我对 Python 中的其他 ORM 持开放态度。请告诉我如何 :-)
【问题讨论】:
-
创建动态表是个坏主意。向表中添加键以区分玩家实例是一个好主意。你想通过这个“动态表格”业务来完成什么?
-
基本上每个玩家都有自己的分数表来跟踪他们在一段时间内的分数。可以在任何时间点添加一个球员,所以很难在一个包含所有球员的巨大分数表中跟踪它......至少对我来说是这样。
-
当然,提问的过程让我重新思考。我可能可以创建一个巨大的分数表,其中包含玩家的 ID 以及他们的分数信息。然后我可以对玩家 ID 进行查询以获取他们的分数。谢谢大家。
-
是的,(得分表中玩家 ID 的外键)正是正确的方法。你说,“我对使用关系数据库还很陌生,所以我更喜欢使用好的 ORM 来简化事情”,但你真的应该花时间学习关系数据库的工作原理,即使你使用的是 ORM,否则你最终会得到糟糕的架构和查询。
标签: python database sqlalchemy