如何分配ID

时间:2012-01-27 06:37:35

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

我想为自己获取用户ID 5005。我读到GAE你可以分配一个ID并设置它,但我不完全理解documentation

代码是

handmade_key = db.Key.from_path('MyModel', 1)
first_batch = db.allocate_ids(handmade_key, 10)
first_range = range(first_batch[0], first_batch[1] + 1)

my_id = first_range.pop(0)
new_key = db.Key.from_path('MyModel', my_id)
new_instance = MyModel(key=new_key)
new_instance.put()
assert new_instance.key().id() == my_id

但是,我想把5005作为用户ID?该模型是webapp2的用户模型。

1 个答案:

答案 0 :(得分:1)

您可以使用allocate_id_range分配特定的ID范围,然后您应该能够使用Key.from_path手动构建密钥,方法是提供您自己的ID,并使用{将其分配给新的Model实例{1}}论证。