0

Googleアカウントに関連付けられているメールアドレスを変更したユーザーがいます。彼は、以前はUserオブジェクトに関連付けられていたデータストアレコードに関連付けられなくなりました。

データストアオブジェクトのユーザープロパティを新しいメールアドレスで更新できますか?これらのレコードをクエリまたは更新するために実際のUserオブジェクトを作成する必要がありますか?その場合、email、ニックネーム、または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 に答える