我想知道是否有办法从存储在csv文件中的唯一编号列表中动态设置Google应用引擎中的实体密钥,并将其批量加载到数据存储区。也可以使实体模型没有任何属性,只需使用一组预定义的唯一数字作为键。 谢谢, 阿伦
答案 0 :(得分:1)
是的,我认为完全有可能。
请记住,密钥必须在整个应用程序中是唯一的,因此如果您将其用作数据模型中实体的密钥,您可以设计保留密钥,那么您将无法使用它在您的应用程序的真实数据模型实体中(无论您打算在何处使用密钥)。
我认为你想在csv文件中为每个条目创建一个实体,这就是你询问空数据模型的原因,你想要的只是存储密钥直到它被分配。由于我给你上面的原因,我认为你应该有另一个属性,可能是一个StringProperty,来保存密钥。
通过执行类似
之类的操作,确保执行键分配时class PrecalculatedKey(db.Model):
precalc_key = db.StringProperty(required=True)
precalculated_key = PrecalculatedKey.all().fetch(1)
s = AppModel(key_name=precalculated_key.precalc_key)`
整个事情(获取新密钥,在AppModel上使用它并删除模型中使用的密钥)发生在事务内部,您不希望将相同的密钥提供给两个不同的AppModel实体。