1

来自谷歌文档:

“模型实例的键包括实例的实体类型以及唯一标识符。标识符可以是键名称字符串,由应用程序在创建实例时显式分配,也可以是整数数字 ID,由 App Engine 在实例被写入(放置)到数据存储区。”

所以在这个例子中:

name = "John"
idd = 11
person = Person(name, idd)
person.put()

如何获得“由 App Engine 自动分配的整数 ID”?

4

2 回答 2

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

要将对象作为持久实体存储在 Datastore 中,请使用 put() 方法。这将返回一个用于稍后从数据存储中检索实体的密钥:

sandy_key = sandy.put()

和:

https://developers.google.com/appengine/docs/python/ndb/keyclass#Key_id

于 2013-01-16T20:10:05.157 回答
1

你试过

print person.id()

或者如果您提供了唯一标识符

print person.id_or_name()

put() 方法也返回密钥

key = person.put()
于 2013-01-16T20:10:45.540 回答