MongoEngine 0.5:运行时错误:调用 Python 对象时超出最大递归深度
>>> from mongoengine import *
>>> connect('foo')
>>> class Foo(Document):
... bar = ListField(ReferenceField('Foo'))
>>> a = Foo()
>>> a.save()
>>> b = Foo()
>>> b.save()
>>> a.bar.append(b)
>>> a.save()
>>> b.bar.append(a)
>>> b.save()
在使用MongoEngine 0.5的时候,出现了一个错误,提示“运行时错误:调用Python对象时超过了最大递归深度”。我该怎么解决这个问题呢?
2 个回答
0
RTD --> http://mongoengine-odm.readthedocs.org/en/latest/guide/defining-documents.html#reference-fields
如果你想添加一个引用字段,这个字段指向正在定义的文档,可以在引用字段的构造函数中用字符串 'self' 来代替文档类。
试试这个:
class Foo(Document):
bar = ListField(ReferenceField('self'))
0
这个问题已经在开发分支上修复了 - 请更新一下。