0

我有一个用户更改了与他的 Google 帐户关联的电子邮件地址。他不再与曾经与他的用户对象相关联的数据存储记录相关联。

我可以用他的新电子邮件地址更新数据存储对象上的用户属性吗?我是否需要构造一个实际的用户对象来查询或更新这些记录,如果需要,我应该使用电子邮件、昵称还是 user_id?

如果重要,我正在使用 Python。

4

2 回答 2

2

来自文档:如果电子邮件地址与 Google 帐户相关联,则 user_id 返回用户的唯一永久 ID,即 str。无论用户是否更改其电子邮件地址,此 ID 对于用户始终是相同的。

于 2012-10-28T22:54:13.980 回答
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

    ...
于 2013-01-08T18:58:04.690 回答