Google数据存储区ID是一个长unicode而不是整数

时间:2014-10-05 22:39:34

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

您好我正在接受Udacity的网络开发,并在python中试验Google数据存储,并创建了一个名为Blog的简单实体。

我检查了localhost:admin端口,所有的id都像'5249205949956096',它应该是'1','2','3'而不是其他人。这是否应该与我的文本编辑器或除了代码之外的其他设置错误?

class Blog(db.Model):
subject = db.StringProperty(required = True)
content = db.TextProperty(required =True)
created = db.DateTimeProperty(auto_now_add = True)

class NewPostHandler(Handler):
def get(self):
    self.render("newpost.html")

def post(self):

    subject = self.request.get("subject")
    content = self.request.get("content")

    if subject and content:
        newblog=Blog(subject=subject,content=content)
        newblog_key = newblog.put()

2 个答案:

答案 0 :(得分:3)

他们将ID的默认分配策略更改为分散(http://googlecloudplatform.blogspot.com/2013/05/update-on-datastore-auto-ids.html)。您可以像这样覆盖dev_appserver:

dev_appserver.py --auto_id_policy = sequential

详情请参阅开发服务器页面的“指定自动ID分配策略”部分:https://cloud.google.com/appengine/docs/python/tools/devserver

但是像@dyoo说的那样,没有什么可担心的,但你可以在本地测试期间交换更容易的眼球查找。

答案 1 :(得分:1)

App Engine有自己的标识符分配策略。你可能没事。 more control有关于ID的API,但除非您的要求不正常,否则您很可能不需要担心它们。