在Google App Engine中,如何创建具有特定ID的模型?

时间:2012-01-25 13:11:15

标签: python google-app-engine google-cloud-datastore

我已经为CSV文件中的模型备份了所有实体。我正在将实体恢复到我的本地dev_server,并希望在csv文件中重新创建具有ID的实体(类似于bulkloader的工作方式)。如何在我的create语句中为新实体传入所需的ID?

playerID = 1234
player = Player(created = datetime.datetime(2012, 1, 25, 9, 20, 5, 757227), 
                nickname = u'chris', 
                email = u'chris@home.com')
player.put()

当我调用put()时,我添加到Player()以使用player.key()创建播放器.id()== 1234?

1 个答案:

答案 0 :(得分:5)

首先,您需要使用allocate_id_range分配ID范围,以确保为这些实体保留ID。

然后手动构建密钥,并将其传递给Player构造函数:

k = Key.from_path('Player', playerID)
player = Player(key = k, ...)
player.put()