1
給定一個db.Key實例,如:派生db.Model子從db.Key
db_key = db.Key.from_path('ModelKind', 'UniqueKeyName')
有沒有辦法返回「ModelKind」的類爲代表的AppEngine能夠在內部做什麼?
喜歡的東西
db_key.class()
最終的結果是,我需要動態檢索類(建立一個新的實體)給出的一個關鍵。我不知道提前實體類型(「ModelKind」可能是一種由我們的「模式」類(db.Model子類)表示的任何模型)
我想什麼來避免:
import schema_module
cls = getattr(schema_module, 'ModelKind')
,因爲它會限制'ModelKind'在特定的schema_module中定義。
只是爲那些誰遇到過這個問題,NDB增加,相當於是'ndb.Model._kind_map [ndb_key.kind()]' – Josh
進一步的說明 - 確保你已經導入具有您正在尋找的類的模塊。這對於大型項目來說是重要的消息。我們構建了一個父模塊來導入所有ndb.Model子類,方便地命名爲'import models'。希望這可以幫助別人! – Josh