【发布时间】:2019-08-07 05:03:31
【问题描述】:
我是 django 的新手,我已经创建了一个项目和应用程序,我想将我的项目连接到 mongodb。当我输入python manage.py migrate 命令时,出现以下错误。
我已经删除了数据库并清除了 django_migration 表中的所有迁移,并删除了创建的迁移文件夹中的迁移文件。仍然得到同样的错误。
请帮我解决这个问题。提前致谢
错误:
raise TypeError("documents must be a non-empty list")
TypeError: documents must be a non-empty list
上述异常是以下异常的直接原因:
djongo.sql2mongo.SQLDecodeError: FAILED SQL: INSERT INTO "django_migrations" ("app", "name", "applied") VALUES (%(0)s, %(1)s, %(2)s)
Version: 1.2.31
Settings.py
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'DB_name',
'HOST':'localhost',
# 'PORT': 27017,
# 'USER':'',
# 'PASSWORD':''
},
models.py
from django.db import models
# Create your models here.
class dummy(models.Model):
name= models.CharField(max_length=100, blank=True, null= True)
【问题讨论】:
-
实际的
TypeError: documents must be a non-empty list来自 pymongo 驱动程序,意思是它所说的,因为它在预期输入时得到一个“空列表”。你真的先运行python manage.py makemigrations吗?因为错误似乎表明“无事可做”。你说你“删除”了,但 AFIAK 你仍然需要先运行makemigrations。 -
我先是
python manage.py makemigrations然后运行 python manage.py migrate,仍然没有运气
标签: python django mongodb django-models django-migrations