Google应用引擎 - 自增

6

我是Google App Engine的新手,我有一个名为User的类 -
user_id - 整数
user_name - 字符串
password - 字符串

我想让user_id自动递增,我该如何做到这一点?


请注意,应用引擎不能保证生成的 ID 是连续的 - 例如,您可能会得到 ID 1、2 和 4,而 ID 3 永远不会被使用。 - Peter Recore
2个回答

19

您不需要声明 user_id,GAE 每次插入新行时会创建一个唯一的键值 id。

class User(db.Model):
user_name = db.StringProperty()
password = db.StringProperty()

并且要存储一个新用户,您需要执行:

user = User()
user.user_name = "Username"
user.password = "Password"
user.put()

获取它的方法:

user = User.get_by_id(<id of the user>)

获取所有id:

query = datamodel.User().all()
for result in query:
    print result.key().id()

请参考模型类了解更多信息。


3
在AppEngine中,每个实体都有一个唯一的键和ID(详见文档)。
user().key().id()

你最好使用那个替代方案。

要执行相反的操作,请使用User.get_by_id(id)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接