在django中迁移模型时如何解决SQLdecode错误?

问题描述 投票:1回答:3

我是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.朋友

DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'NAME': 'DB_name',
        'HOST':'localhost',
        # 'PORT': 27017,
        # 'USER':'',
        # 'PASSWORD':''
    },

models.朋友

from django.db import models

# Create your models here.
class dummy(models.Model):

    name= models.CharField(max_length=100, blank=True, null= True)
python django mongodb django-models django-migrations
3个回答
0
投票

我和你有同样的问题,我尝试使用sqlite3作为数据库,数据就像这样:

enter image description here

所以数据不是空的!!

我尝试更改sql命令如下(第760行在sql2mongo \ query.py):

statement = statement[0]
    sm_type = statement.get_type()
    if sm_type=='INSERT':
        self._sql = 'INSERT INTO "django_migrations" ("app", "name", "applied") VALUES ("test", "windy", "2019-03-15 12:00")'

但仍然失败了。


0
投票

我已经解决了这个问题,问题可能是sqlparse的版本 - sqlparse 0.2.4运行良好,但sqlparse 0.3.0没有。

pip install sqlparse == 0.2.4 --user

它对我有用,祝你好运!


0
投票

只需安装sqlprase就可以解决这个问题。

下载它github sqlprase

pip install filename.zip !!

© www.soinside.com 2019 - 2024. All rights reserved.