1

Django bookの第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 シェルで 1 回 (実行可能ファイルを開く):

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

コマンドが間違っている可能性があることはわかっていますが、何でも試すことができ、常に同じエラーが発生し、コマンドの最初の単語が "" に表示されます。

何か助けはありますか?

4

3 に答える 3

1

SQLiteのサポートは非​​常に限られALTER TABLEています。

テーブルを削除して再作成する必要があります。

于 2012-10-30T15:20:58.310 に答える
0

Django がデータベースの移行をうまくサポートしていないことに気付きました。最初の移行を行い、元のテーブルが設定されると、Django のみでフィールドを追加または変更することはできません。South のようなデータベース移行スキーマが必要です。

于 2012-11-14T12:08:45.840 に答える
0

エラー メッセージが示すように、どこかに構文エラーがあります。Documentsいくつかの構文上の誤りについてクラスを説明する部分を確認する (またはここに投稿する) 必要があります:)

于 2012-10-30T14:23:06.873 に答える