Python MongoEngine架构-名称错误
我在一个名为model.py的文件中有以下模式Python MongoEngine架构-名称错误,python,mongodb,mongoengine,Python,Mongodb,Mongoengine,我在一个名为model.py的文件中有以下模式 from mongoengine import * class Subject(Document): uri = StringField(required=True) resources = ListField(ReferenceField(ResourceSubject)) class ResourceSubject(Document): subject = ReferenceField(Subject,reverse
from mongoengine import *
class Subject(Document):
uri = StringField(required=True)
resources = ListField(ReferenceField(ResourceSubject))
class ResourceSubject(Document):
subject = ReferenceField(Subject,reverse_delete_rule=CASCADE)
resource = ReferenceField(Resource)
class Resource(EmbeddedDocument):
uri = StringField()
title = StringField()
snippet = StringField()
image = StringField()
source = StringField()
adapter = StringField()
由于某种原因,当我尝试初始化一个主题时,subc=Subject(uri=“hello”).save()
我得到一个名称错误:namererror:name'ResourceSubject'未定义
我不明白原因,我猜这与框架有关?我尝试将各个文件中的类分离,然后导入,但仍然出现相同的错误。我错过了什么
这一行抛出错误:resources=ListField(ReferenceField(ResourceSubject))
将ResourceSubject
置于引号中:
那很快。。。在本教程中,不使用引号@Giannis是的,但由于这是一个双向引用,所以两个模型都需要相互定义。在本例中,以字符串形式提供模型名称是一种方法。
resources = ListField(ReferenceField('ResourceSubject'))