提问人:Raúl 提问时间:4/18/2016 最后编辑:JérômeRaúl 更新时间:5/23/2020 访问量:1901
“TopLevelDocumentMetaclass”对象不可迭代
'TopLevelDocumentMetaclass' object is not iterable
问:
我对 django 世界非常陌生,我尝试做一些示例来将其与 mongodb 一起使用。要连接到 mongo,我使用的是 mongoengine 0.9.0。我也在使用 virtualenv。
目前我有非常基本的东西,我能够运行服务器,但是当我尝试可视化网页时,出现此错误:
'TopLevelDocumentMetaclass' object is not iterable.
我正在检查具有类似“对象不可迭代”的其他条目,但其中大多数是 models.py 的用户模型,我的处于 sites.py 中,目前我宁愿不修改它,直到我知道我在做什么:S
以下是我的安装包:
- 姜戈==1.5.1
- django-shortcuts==1.5
- django工具箱==1.8.0
- mongoengine==0.9.0
- pymongo==2.5.2
我的 models.py 看起来像这样
from mongoengine import *
from mongoengine import connect
connect('mydatabase')
class Restaurant(Document):
name = StringField(max_length=200)
我在 views.py 文件中的唯一视图就是这个
def admin(request):
html = "<html><body>Proyecto de ejemplo</body></html>"
return HttpResponse(html)
如果我在 Models.py 中不使用 mongoengine,而是使用 django 中的模型.db它工作正常,所以我假设问题的原因应该是使用 mongoengine。
有谁知道如何解决这个问题?
答:
0赞
aasmpro
5/23/2020
#1
它似乎是在尝试注册模型时提出的,所以基本上 mongo 在 Django 管理员中遇到了问题。'TopLevelDocumentMetaclass' object is not iterable.
mongo-engine
django.contrib.admin
现在似乎注册这样的模型可能会有所帮助:
admin.register(MyModel)
评论