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

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 に答える
0

これは dev ブランチで修正されています - 更新してください。

于 2011-10-05T05:25:06.970 に答える