这就是我需要将user_id()放在数据存储区中的原因:
数据存储区中的用户值没有 如果用户更改她,则会更新 电子邮件地址。这可以补救 未来的版本。在那之前,你可以 使用User值的user_id()作为 用户的稳定唯一标识符。
http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html#users_User
在数据存储区中,值为 等于电子邮件地址加上 用户的唯一ID。如果用户更改 她的电子邮件地址,新的用户值 将不等于原始用户值 在数据存储区查询中或进行比较时 通过应用程序。如果您的应用需要稳定 你没有改变的标识符 可以单独存储唯一ID 来自用户值。
http://code.google.com/appengine/docs/python/users/userobjects.html
我该怎么做?
你是怎么知道的(或者你在哪里查找的?)
答案 0 :(得分:0)
通常的答案是“没有属性”:如果你需要一个稳定的标识符,可能是因为你正在查找用户,在这种情况下你应该使用它作为实体的密钥名称,如下所示: / p>
class UserInfo(db.Model):
is_admin = db.BooleanProperty(required=True, default=False)
user_info = UserInfo.get_or_insert(users.get_current_user().user_id())
如果您确实需要在其他位置存储用户的标识符,则可以使用db.StringProperty来存储用户ID。