2012-10-28 48 views
0

我有一位用戶更改了與他的Google帳戶關聯的電子郵件地址。他不再與以前與其用戶對象關聯的數據存儲記錄相關聯。如何更改與GAE中數據存儲記錄關聯的用戶?

我可以用他的新電子郵件地址更新數據存儲區對象上的用戶屬性嗎?我是否需要構建一個實際的用戶對象來查詢或更新這些記錄,如果是這樣,我應該使用電子郵件,暱稱還是user_id?

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

回答

0

的解決方案的一個片段,最終爲我工作:

old_user = users.User(email="old[email protected]"); 
    new_user = users.User(email="[email protected]"); 
    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 

    ... 
2

來自文檔:如果電子郵件地址與Google帳戶關聯,則user_id將返回用戶的唯一永久ID,即str。無論用戶是否更改其電子郵件地址,此ID都始終與用戶相同。

+0

這並沒有解決我的問題。爲用戶返回的用戶對象與以前不同 - 我如何拉取與舊用戶對象關聯的記錄,並讓它們與新用戶關聯? –

+0

不同?用戶是否擁有另一個Google帳戶? – voscausa

相關問題