这是为什么我需要把USER_ID()的在数据存储区:

  

在数据存储区A操作的值不   如果用户改变她得到更新   电子邮件地址。这可以得到纠正   未来的版本。在那之前,你可以   使用用户价值的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

我该怎么办呢?

和你怎么知道(或者你在哪里看它?)

有帮助吗?

解决方案

通常的答案是“没有财产”:如果你需要一个稳定的标识符,这可能是因为你正在寻找的用户增长了它,在这种情况下,你应该使用它的键名的实体,像这样:

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。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top