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

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

我已在 CSV 文件中备份模型的所有实体。我正在将实体恢复到我的本地 dev_server,并希望在 csv 文件中重新创建具有 ID 的实体(类似于 bulkloader 的方式)。如何在我的创建语句中为我的新实体传递所需的 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 的播放器?

最佳答案

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

然后只需手动构建 key ,并将其传递给 Player 构造函数:

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

关于python - 在 Google App Engine 中,如何创建具有特定 ID 的模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9003288/

相关文章:

python - 从单一导入访问 python 应用程序中的全局变量

python - 从字典中的值列表创建矩阵

python - eventlet 是否可以通过异步传入和传出的消息来管理 AMQP 连接?

python - GAE/webapp2 : Serving Excel file created by script using xlwt

python - 为什么会失败? (谷歌应用程序引擎数据存储,Python)

javascript - 谷歌云数据存储: Storing arrays and objects

google-app-engine - 同一 GAE 项目中的 Firestore 和 Datastore

python - 无尽的 while 循环困惑

Python 错误 - 导入错误 : no module named 'webapp2'

python - 获取 GAE Python 中所有 NDB 模型名称(类名称)的列表