3

我将 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?

我该做什么?

4

1 回答 1

1

app2.models您应该在某处导入。通过导入发表评论,说明它为什么存在,因此将来没有人删除看起来无用的导入。

当 django 开发服务器启动时,它会从所有已安装的应用程序中导入模型并验证它们。你会看到的

Validating models... 
0 errors found

这不会发生在生产环境中。这只是开发服务器的一个优点。

于 2012-09-30T20:07:03.823 回答