按ID选择通用ndb模型

时间:2013-07-10 11:42:35

标签: app-engine-ndb

模型ID在所有条款中都是唯一的。 我想知道如何在不知道模型类名的情况下使用“get_by_id()”。

例如,在

MyModel.get_by_id(42) 

需要使用“MyModel”类

以其他方式

ndb.Key(MyModel, id).get()

也需要班级名称。

我认为这可能是没有班级名称的东西。我很好吗?

感谢您的回答。

1 个答案:

答案 0 :(得分:1)

不,你不能。首先,自动分配的ID在模型中不是唯一的。其次,实体有一个由一个或多个(模型,ID)对组成的“密钥” - 模型(==类名)是密钥的重要组成部分。

您可能会对查询感到困惑。可以(尽管不推荐)查询“所有实体”,即不指定模型。但这显然不会扩大规模。