How to solve SQLdecode error when you migrate models in django?

拥有回忆 提交于 2020-01-13 06:49:53

问题


I am new to django, I have created a project and app and I would like to connect my project to the mongodb. when I enter python manage.py migrate command , I am getting below mentioned error.

I have dropped database and cleared all migrations in the django_migration table and deleted migration files in the created migrations folder. Still getting same error.

Please help me with this. Thanks in advance

Error:

    raise TypeError("documents must be a non-empty list")
TypeError: documents must be a non-empty list

The above exception was the direct cause of the following exception:

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)

回答1:


I have the same issue with u, I tried with sqlite3 as the database, and the data is just like this:

so the data is not empty!!

And I tried to change the sql command as follow(line 760 at 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")'

but still failed.




回答2:


i have solved this problem, the problem may be the version of sqlparse -- sqlparse 0.2.4 works well, but sqlparse 0.3.0 not.

pip install sqlparse==0.2.4 --user

It worked to me, good luck!!!




回答3:


Just install sqlprase can solve this.

Download it github sqlprase

pip install filename.zip!!




回答4:


After creating django project uninstall sqlparse by typing

pip3 uninstall sqlparse

Then install sqlparse version=0.2.4 by typing

pip3 install sqlparse==0.2.4

Then migrate mongodb database by typing

python3 manage.py migrate

If you are using python2 then use (pip) instead of (pip3) and (python) instead of (python3) in the command.



来源:https://stackoverflow.com/questions/55194079/how-to-solve-sqldecode-error-when-you-migrate-models-in-django

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!