我有一个用户更改了与他的 Google 帐户关联的电子邮件地址。他不再与曾经与他的用户对象相关联的数据存储记录相关联。
我可以用他的新电子邮件地址更新数据存储对象上的用户属性吗?我是否需要构造一个实际的用户对象来查询或更新这些记录,如果需要,我应该使用电子邮件、昵称还是 user_id?
如果重要,我正在使用 Python。
我有一个用户更改了与他的 Google 帐户关联的电子邮件地址。他不再与曾经与他的用户对象相关联的数据存储记录相关联。
我可以用他的新电子邮件地址更新数据存储对象上的用户属性吗?我是否需要构造一个实际的用户对象来查询或更新这些记录,如果需要,我应该使用电子邮件、昵称还是 user_id?
如果重要,我正在使用 Python。
来自文档:如果电子邮件地址与 Google 帐户相关联,则 user_id 返回用户的唯一永久 ID,即 str。无论用户是否更改其电子邮件地址,此 ID 对于用户始终是相同的。
最终为我工作的解决方案片段:
old_user = users.User(email="old@yahoo.com");
new_user = users.User(email="new@gmail.com");
changed = []
things = model.Ball.all().filter("user =", old_user).fetch(500);
for thing in things:
thing.user = new_user
changed += [thing]
if len(changed) >= 500:
db.put(changed)
return
...