gpt4 book ai didi

python - 如何处理同一模块中的多个 Python 类相互依赖?

转载 作者:太空狗 更新时间:2023-10-30 02:49:25 25 4
gpt4 key购买 nike

我正在使用 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,因为当解释器在类 中的文件中获取对它的引用时,Bar 未定义富。我如何告诉 Python 不要担心,类定义很快就会出现?

最佳答案

ReferenceField 也接受类名。

another_field   = ReferenceField('Bar')

关于python - 如何处理同一模块中的多个 Python 类相互依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8340770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com