この回答はまだ可視化されていますが、時代遅れです。1.7以降、Djangoには、と同じ作成者によって作成された組み込みの移行システムが付属しており、引き続き機能しますSouth
が、廃止されsyncdb
ました。
新しい列を自動的に追加するには、いくつかのコマンドを実行する必要があります。
python manage.py makemigrations
python manage.py migrate
内部で何が起こっているのかを理解することは有用ですが、それが基本です。この古い投稿をまだ読んでいる場合は、1.7と移行に関する回答を得るために、新しい質問をしてください。
django<1.7の場合
syncdb
新しい列は追加されません。http://docs.djangoproject.com/en/dev/ref/django-admin/#syncdbを参照してください
手動で追加する必要があります。例えば、。<>
関連情報に置き換えます:
python manage.py dbshell
ALTER TABLE <appname_modelname> ADD COLUMN <column_type> DEFAULT '';
以下を使用して、Djangoがフレッシュで列を生成するために何をしたかを確認できますsyncdb
。
python manage.py sqlall app_name
ALTER TABLE
そこからステートメントをコピーして貼り付けます。
それ以外の場合は、データベース移行ツールであるDjango-Southなどのサードパーティアプリを調べることができます。