“错误:靠近”Documents“:语法错误” - sqlite3 / Django

时间:2012-10-30 13:08:30

标签: django sqlite

我正在尝试Django书中的第6章。

将某些字段更改为blank = True,并且null = True后,我们会被告知使用dbshel​​l更新表。

当我输入:python manage.py dbshel​​l时,会出现以下错误:

C:\Users\Rafa\Documents\Python\book>python manage.py dbshell
Error: near: "Documents": syntax error.

我尝试在我的图书目录中安装sqlite3.exe并直接从那里运行。我尝试运行命令时仍然会得到相同的错误。例如,一旦在sqlite3 shell上(打开可执行文件):

sqlite>ALTER TABLE books_book ALTER COLUMN publication_date DROP NOT NULL;
Error: near "ALTER": syntax error.

我知道这些命令可能是错误的,但我可以尝试任何操作,它总是指出相同的错误,并在“”中显示命令的第一个单词。

任何帮助?

3 个答案:

答案 0 :(得分:1)

SQLite has very limited ALTER TABLE support

您必须删除并重新创建表格。

答案 1 :(得分:0)

正如错误消息所示,某处存在语法错误。您应该检查(或在此处发布)描述Documents类的部分语法错误:)

答案 2 :(得分:0)

我现在意识到Django不能很好地支持数据库迁移。完成初始迁移并设置原始表后,无法仅使用Django添加或修改字段。您需要像South这样的数据库迁移模式。