Googleアカウントに関連付けられているメールアドレスを変更したユーザーがいます。彼は、以前はUserオブジェクトに関連付けられていたデータストアレコードに関連付けられなくなりました。
データストアオブジェクトのユーザープロパティを新しいメールアドレスで更新できますか?これらのレコードをクエリまたは更新するために実際のUserオブジェクトを作成する必要がありますか?その場合、email、ニックネーム、またはuser_idを使用する必要がありますか?
重要な場合はPythonを使用しています。
Googleアカウントに関連付けられているメールアドレスを変更したユーザーがいます。彼は、以前はUserオブジェクトに関連付けられていたデータストアレコードに関連付けられなくなりました。
データストアオブジェクトのユーザープロパティを新しいメールアドレスで更新できますか?これらのレコードをクエリまたは更新するために実際のUserオブジェクトを作成する必要がありますか?その場合、email、ニックネーム、または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
...