1

以前我使用db而不是ndb。現在我正在遷移我的代碼。所述db.model等效爲什麼key = model_instance.key有沒有!在db到ndb docs旁邊呢?

密鑰= model_instance.key()

ndb.model:

鍵= model_instance.key

其具有無!在它的旁邊。但它沒有說明我們應該使用什麼。

我該怎麼寫ndb?爲什麼這不好?

p.key().id() 
+0

'p.key.id()'不工作嗎? – mgilson

+0

p.key.id()應該可以工作 – marcadian

+0

它的確如此,但在文檔中卻說沒有!在key = model_instance.key旁邊,所以我想知道是否還有別的東西我應該使用。 – John

回答

4

我相信你指的是NDB Cheat Sheet,更具體地說,第4行中的實體表:

key = model_instance.key() | key = model_instance.key # no() !! 

的文本實際上是# no() !!,這意味着沒有括號/不是函數調用。這在上下文中是正確的,因爲這是獲取實體密鑰的方法,該實體的密鑰是ndb中的屬性,與db中的函數調用相比較。這並不意味着「不要使用」。

+0

好吧...這解釋了它 – marcadian

+0

我指的是https://cloud.google.com/appengine/docs/python/ndb/db_to_ndb,它看起來與您引用的文檔非常相似。啊,這清除了它的意思。謝謝。 – John