【发布时间】:2012-01-10 13:32:15
【问题描述】:
我正在使用 ODM 库,并且我将文档定义为同一模块中的类(当它们相关时)。我遇到了一个循环依赖问题,因为我以前在 Python 中没有遇到过这个问题,所以我不知道如何通知类彼此存在。示例:
''' docs.py '''
from mongoengine import Document
from mongoengine.fields import StringField, ReferenceField, ListField
class Base(Document):
some_field = StringField()
class Foo(Base):
other_field = StringField()
another_field = ReferenceField(Bar)
class Bar(Base):
other_field = StringField()
another_field = ListField(ReferenceField(Foo))
就目前而言,Python 将抛出一个NameError,因为当解释器在文件中的类Foo 中获取对它的引用时,没有定义Bar。如何告诉 Python 不要担心,类定义很快就会出现?
【问题讨论】:
-
@ShawnChin:我认为链接问题中的解决方案不适用于这里,所以它不是真正的重复。