簡體   English   中英

Google App Engine中的自引用ReferenceProperty

[英]Self-referential ReferenceProperty in Google App Engine

我在App Engine(Python)中使用ReferencePropertys時遇到了一些麻煩。

為了一點樂趣,我正在嘗試建模文件夾/文件系統,但無法獲取文件夾引用文件夾。

我的第一次嘗試是這樣的:

class Folder(db.Model):
    id = db.StringProperty()
    name = db.StringProperty()
    created = db.DateTimeProperty(auto_now_add=True)
    folder = db.ReferenceProperty(Folder, collection_name="folders")

但是,當嘗試定義“文件夾”時,未定義“文件夾”,因此失敗。

我也嘗試在“文件夾”的主聲明之外定義“文件夾”,如下所示:

class Folder(db.Model):
    id = db.StringProperty()
    name = db.StringProperty()
    created = db.DateTimeProperty(auto_now_add=True)

Folder.folder = db.ReferenceProperty(Folder, collection_name="folders")

但是失敗了:AttributeError:'Folder'對象沒有屬性'folders'

我有點難過。 有沒有人有這方面的經驗,或解決這個問題?

提前致謝。

這正是SelfReferenceProperty的用途。

你可以創建一個單獨的模型來鏈接這兩個模型,命名為FolderChild:

class FolderChild(db.Model):
    parent = db.ReferenceProperty(Folder)
    child = db.ReferenceProperty(Folder, collection_name="children")

暫無
暫無

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

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