3

我有一個基於ndb的模型,同時保存它,我用當前登錄用戶的用戶ID存儲'id'字段。 (爲什麼我這樣做呢?其實這個模型中使用是基於db.Model和KEY_NAME具有該用戶的ID。現在,我將其轉換爲NDB)使用Appengine的NDB從實體的ID獲取密鑰

m= Modelclass(id = str(users.get_current_user().used_id()), 
     --- Other fields --- 
m.put() 

這種模式的編輯形式發送這個「身份證」我想從中獲得相應的「關鍵」。但是,我得到了「密鑰ID號太長;收到'一些big_number'」。試圖左右逢源

Modelclass.get_by_id(<id>).key 

OR

ndb.Key('Modelclass', <id>) 

這是一個情況,有可能是其他情況下,用戶可以存儲在「ID」領域的一些大數目。在這些情況下,我們無法從'id'中提取密鑰。那麼,如何解決這樣的問題。

我是新來的ndb。謝謝你的幫助。

回答

6

看起來像你的值是一個整數,而不是一個字符串。但是在創建實體時將其轉換爲字符串。有一個簡單的解決方案:

ndb.Key('Modelclass', str(<id>)) 

祝你好運!

+0

謝謝!有效。我仍然處於'db'的思維模式。 :) – rajpy

相關問題