在类中创建一个引用到他自己的类型

mFo*_*ura 3 python google-app-engine google-cloud-datastore

我真的不知道怎么写这个问题的标题:P

所以在谷歌应用程序引擎中我想创建一个可以拥有相同类型"儿子"的类:

class Chapter(db.Model):
    title = db.StringProperty(required=True)
    note = db.TextProperty()
    father = db.ReferenceProperty(Chapter, collection_name='sons')
    order = db.IntegerProperty(default=0)
Run Code Online (Sandbox Code Playgroud)

我得到了错误

NameError: name 'Chapter' is not defined
Run Code Online (Sandbox Code Playgroud)

有可能创造这个吗?或者这是一个非常愚蠢的想法?

Sha*_*men 7

您需要使用SelfReferenceProperty

class Chapter(db.Model):
    title = db.StringProperty(required=True)
    note = db.TextProperty()
    father = db.SelfReferenceProperty(collection_name='sons')
    order = db.IntegerProperty(default=0)
Run Code Online (Sandbox Code Playgroud)