【发布时间】:2011-09-21 08:53:25
【问题描述】:
我在 AppEngine 中有一个 Python 应用程序。我正在使用高复制数据存储。
这是我的问题:
我有一个在没有父母的情况下保存的实体(为简单起见,称为 Person),它是 AppEngine 术语中的根实体。
我在保存实体之前没有设置 key_name,因为我想要 DataStore 分配的数字 ID。一些代码:
p = Person(name='Juan Roman Riquelme')
p.put()
p.key().id() # the numeric ID
问题是 ID 不连续。每次我更新我的应用程序(appcfg.py update .)时,ids 都会在接下来的数千个中开始。我的意思是,我第一次更新我的应用程序时,ID 为 1、2、3 等。下一次是:1001,1002,1003等。第三次:2001,2002等。
发生了什么事?我应该怎么做才能让它们保持连续?
谢谢!
【问题讨论】:
-
看看this的问题。
-
谢谢凯文。真的很有用。
-
这不是重复的!我讨厌这些家伙。我不是在问如何实现自动增量我不关心如何实现自动增量。我想知道如何在 AppEngine Administration 中解决这个问题。你喜欢关闭事物只是为了感觉自己很重要?
-
您在询问如何创建始终递增的 ID。如果这与自动增量不同,您必须解释如何。
-
@Nick 我正在寻找某种方法来“修复”“数据存储间隔步骤”。实际上 AutoIncrement 对我很有用,但对于其他事情。也许我没有正确解释自己。我的英语不是那么好。经过一些研究,我发现不可能让 DataStore 不执行那 1000 个 id 步骤。感谢您的帮助尼克。
标签: python google-app-engine google-cloud-datastore flask