これが、user_id()をデータストアに配置する必要がある理由です。
ユーザーが自分の電子メールアドレスを変更しても、データストアのユーザー値は更新されません。これは、将来のリリースで修正される可能性があります。それまでは、ユーザー値のuser_id()をユーザーの安定した一意の識別子として使用できます。
http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html#users_User
データストア内では、値は電子メールアドレスにユーザーの一意のIDを加えたものに等しくなります。ユーザーがメールアドレスを変更した場合、新しいユーザー値は、データストアクエリで、またはアプリで比較したときに、元のユーザー値と等しくなりません。アプリに変更されない安定した識別子が必要な場合は、ユーザー値とは別に一意のIDを保存できます。
http://code.google.com/appengine/docs/python/users/userobjects.html
どうすればいいのですか?
そして、どうやって知ったのですか(またはどこで調べましたか?)