来自谷歌文档:
“模型实例的键包括实例的实体类型以及唯一标识符。标识符可以是键名称字符串,由应用程序在创建实例时显式分配,也可以是整数数字 ID,由 App Engine 在实例被写入(放置)到数据存储区。”
所以在这个例子中:
name = "John"
idd = 11
person = Person(name, idd)
person.put()
如何获得“由 App Engine 自动分配的整数 ID”?
来自谷歌文档:
“模型实例的键包括实例的实体类型以及唯一标识符。标识符可以是键名称字符串,由应用程序在创建实例时显式分配,也可以是整数数字 ID,由 App Engine 在实例被写入(放置)到数据存储区。”
所以在这个例子中:
name = "John"
idd = 11
person = Person(name, idd)
person.put()
如何获得“由 App Engine 自动分配的整数 ID”?
如果您使用 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:
要将对象作为持久实体存储在 Datastore 中,请使用 put() 方法。这将返回一个用于稍后从数据存储中检索实体的密钥:
sandy_key = sandy.put()
和:
https://developers.google.com/appengine/docs/python/ndb/keyclass#Key_id
你试过
print person.id()
或者如果您提供了唯一标识符
print person.id_or_name()
put() 方法也返回密钥
key = person.put()