我正在使用Google App Engine NDB。有時候我會想讓所有用戶在指定的列表中輸入一個電話號碼。使用查詢對此非常昂貴,所以我認爲我只是將用戶實體的id值設置爲用戶的電話號碼,以便我可以直接通過ID獲取。修改Google App Engine實體ID?
問題是電話號碼字段是可選的,所以最初創建的用戶實體沒有電話號碼,因此沒有id的值。所以它將被創建爲user = User()
而不是user = User(id = phone_number)
。
因此,當稍後的用戶決定將電話號碼添加到他的帳戶時,是否有將該用戶實體的ID值修改爲新的電話號碼?
也許我的理解不正確?獲取舊的實體標識符,將其刪除並放入新的實體標識符。 – voscausa
@voscausa以及它是同一個實體。該id是實體的關鍵。在NDB中,它被稱爲id而不是key_name – Snowman
NDB Docs:要檢索或創建的密鑰名稱(即字符串密鑰ID)。所以當它是一個字符串時,它是一個關鍵名稱。 – voscausa