簡體   English   中英

如何在創建實體之后但在將實體放入數據存儲區之前添加/更改實體的父實體?

[英]How can I add/change the parent of an entity after it has been created but before it is put in the Datastore?

從我在文檔中讀到的內容來看,在將實體的父級放入數據存儲區后,不可能更改它的父級。 但是我正在尋找一種在發生之前更改父級的方法(但是在創建之后)。 所以不要這樣:

John = Student(parent=BlueClassroom.key, name="John", last_name="Smith")
John.put()

我正在尋找這樣的東西:

John = Student(name="John", last_name="Smith")
John.parent = BlueClassroom.key
John.put()

現在,第一個工作,但第二個不工作(它只是忽略第二行)。 我也試過使用populate,但這只適用於常規屬性。 有辦法做到這一點嗎?

根據NDB Model Class Constructor docs:

您無法輕松定義名為“key”,“id”,“parent”或“namespace”的屬性。 例如,如果在構造函數或populate()調用中傳遞key =“foo”,它將設置實體的鍵,而不是名為“key”的屬性屬性。

我建議將數據作為dict傳遞,直到你准備好創建實體:

john = {name="John", last_name="Smith"}
...
John = Student(parent=BlueClassroom.key)
John.populate(john)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM