我在名为 model.py 的文件中有以下模式
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()
出于某种原因,当我尝试初始化一个主题时,subj = Subject(uri="hello").save()
我收到一个名称错误:NameError: name 'ResourceSubject ' 未定义
。
我不明白原因,我猜这与框架有关?我尝试将类分离到单个文件中,然后导入,但我仍然遇到相同的错误。我错过了什么?
此行引发错误:resources = ListField(ReferenceField(ResourceSubject))
最佳答案
将 ResourceSubject
放入引号:
resources = ListField(ReferenceField('ResourceSubject'))
关于python - MongoEngine 模式 - 名称错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29322903/