我使用mongoengine和django。我有两个模型应用程序。
app1/models.py
:
from mongoengine import fields
from mongoengine.document import Document
class Model1(Document):
name = fields.StringField()
lists = fields.ListField(fields.ReferenceField("Model2", dbref=False))
app2/models.py
:
from mongoengine import fields
from mongoengine.document import Document
class Model2(Document):
name = fields.StringField()
所有申请都已添加到INSTALLED_APPS
。当我使用django dev-server时,一切都很好。但是在uwsgi-server中使用此代码会出现错误:
Model2 has not been registered in the document registry.
Importing the document class automatically registers it, has it
been imported?
我应该做什么?
答案 0 :(得分:1)
您应该在某处导入app2.models
。在导入中发表评论说明为什么会这样,所以没有人会在将来删除无用的导入。
当django dev服务器启动时,它会从所有已安装的应用程序中导入模型并验证它们。你会看到
Validating models...
0 errors found
在生产环境中不会发生这种情况。它只是开发服务器的精确。