在蒙古发动机中的ReferenceField

时间:2012-09-30 17:54:32

标签: python django mongoengine

我使用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?

我应该做什么?

1 个答案:

答案 0 :(得分:1)

您应该在某处导入app2.models。在导入中发表评论说明为什么会这样,所以没有人会在将来删除无用的导入。

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

Validating models... 
0 errors found

在生产环境中不会发生这种情况。它只是开发服务器的精确。