【发布时间】:2011-11-25 14:46:47
【问题描述】:
我有一个 GroupWallet 模型,我想在其中存储几个人的钱。该信息包括人员、人员密钥和金额。所以你可以说我想保存一个元组列表
[(Joe, JoeKey, 34),
(Beth,BethKey,65)]
我尝试了一个关系对象(在 GroupWallet 和 Person 之间),但扩展性不是很好。
我一直在考虑创建三个并行列表,例如Names、NameKeys、Amount 并使用索引将元组链接在一起。但我不喜欢那个解决方案,我遇到了NDB 和 StructuredProperty,他们以一种很好的方式做到了这一点!但我还需要 NDB 中不存在的 PolyModel,仅在原始 db 库中。
所以我的问题是;有谁知道独立的 StructuredProperty 实现或知道 PolyModel 是否会很快在 NDB 中实现?
【问题讨论】:
-
我正在实现一个sync protocol,其中正在同步的实体类型(表)共享一些公共信息。例如,一个时间戳使我可以对 PolyModel 父类型进行 1 次查询并获取所有应同步的实体,而不是对每个实体类型进行一次查询。您对如何在 App Engine 中解决它有任何其他建议吗?
-
如果实体的唯一共同点是同步信息,您应该将它们存储为常规类型。 Polymodel 为每个实体增加了一些开销。
-
是的,但是您每次写入都要为此付出代价。如果与写入相比,这种读取并不常见,您可能应该在读取时进行工作。
标签: python google-app-engine google-cloud-datastore app-engine-ndb