来自Google文档:
“模型实例的键包括实例的实体类型以及唯一标识符。标识符可以是键名称字符串,由应用程序在创建实例时显式指定,或者是由App自动分配的整数数字ID。将实例写入(放入)数据存储区时引擎。“
所以在示例中:
name = "John"
idd = 11
person = Person(name, idd)
person.put()
我如何获得“由App Engine自动分配的整数数字ID?”
答案 0 :(得分:2)
如果您正在使用ndb put()返回新密钥...请在密钥上调用id函数:
name = "John"
idd = 11
person = Person(name, idd)
new_key = person.put()
auto_assigned_id = new_key.id()
来自https://developers.google.com/appengine/docs/python/ndb/entities:
要将对象存储为数据存储区中的持久性实体,请使用 put()方法。这将返回一个用于从中检索实体的密钥 稍后数据存储:
sandy_key = sandy.put()
和
https://developers.google.com/appengine/docs/python/ndb/keyclass#Key_id
答案 1 :(得分:1)
你试过
吗?print person.id()
或者如果您提供了唯一标识符
print person.id_or_name()
put()方法也返回键
key = person.put()