0
    >>> 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 中导致“RuntimeError:调用 Python 对象时超出最大递归深度”。我该如何解决这个问题?

4

2 回答 2

0

这已在 dev 分支中修复 - 请更新。

于 2011-10-05T05:25:06.970 回答
0

RTD --> http://mongoengine-odm.readthedocs.org/en/latest/guide/defining-documents.html#reference-fields

要添加引用正在定义的文档的 ReferenceField,请使用字符串“self”代替文档类作为 ReferenceField 构造函数的参数。

尝试这个:

class Foo(Document):
    bar = ListField(ReferenceField('self'))
于 2013-02-05T17:19:15.223 回答