我的用户更改了与其Google帐户关联的电子邮件地址。他不再与以前与其User对象关联的数据存储记录关联。
我可以使用新的电子邮件地址更新数据存储区对象上的用户属性吗?我是否需要构建一个实际的User对象来查询或更新这些记录,如果是,我应该使用email,nickname还是user_id?
如果重要的话,我正在使用Python。
答案 0 :(得分:2)
来自文档:如果电子邮件地址与Google帐户相关联,则user_id会返回用户的唯一永久ID,即str。无论用户是否更改其电子邮件地址,此ID始终与用户相同。
答案 1 :(得分:0)
最终为我工作的解决方案片段:
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
...