はい、列を広くします。エラーメッセージは非常に明確です。200文字が大きすぎてvarchar(4)に収まりません。
まず、モデルフィールドを更新しますmax_length
4から予想される数までの属性は、フィードするデータを含めるのに十分な長さになります。
次に、データベース列自体を更新する必要があります。djangoは更新しません既存の列を自動的に更新します 。
ここにいくつかのオプションがあります:
1:データベースを削除し、syncdbを再度実行します。 警告:すべてを失うことになります あなたのデータ。
2:SQLを使用して列を手動で更新します:
python manage.py dbshell
と入力します データベースシェルにアクセスして入力するには
ALTER TABLE my_table ALTER COLUMN my_column TYPE VARCHAR(200)
3: djangosouth などのデータベース移行ツールを学習して使用します これにより、データベースをモデルコードで最新の状態に保つことができます。