[英]Google appengine datastore tree structure
我需要能夠在appengine數據庫中制作樹狀結構。
我試圖做一個對象引用本身,但還沒有使它起作用。
class Item(db.Model):
children = db.ListProperty(db.ReferenceProperty(Item))
這是google-appengine組的相關主題。
您可以在每個子節點中存儲對父節點的引用,而不是在父節點中存儲對子節點的引用。
這是一些代碼:
class Node(db.Model):
pass
...snip...
root = Node()
db.put(root)
for i in xrange(10):
child = Node(parent=root)
db.put(child)
for i in xrange(5):
grandchild = Node(parent=child)
db.put(grandchild)
parent
是Model
上的一個特殊字段,它告訴數據存儲區一個實體與其父級具有父子關系。
從文檔 :
應用程序創建實體時,可以使用Model構造函數中的parent參數將另一個實體分配為新實體的父代。 將父實體分配給新實體會將新實體與父實體置於同一實體組中。
沒有父級的實體是根實體。 作為另一個實體的父實體的實體也可以具有父實體。 從實體到根的父實體鏈是該實體的路徑,而路徑的成員是該實體的祖先。 實體的父代是在創建實體時定義的,以后無法更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.