Djangoで当初データベースに設定したモデルの特定フィールドを削除した場合に、エラーが発生する対策の一例です。うまくいかない場合は試してみるとうまくいくかもしれません。今回の方法は既存データベースを初期化して、新たに設定したいデータベースで上書きする処理です。尚、前提となるデータベースは、Djangoにデフォルトで含まれているSqliteになります。
Migrationの履歴を削除するためにターミナル上で以下タイプをします。hogehogeは対象となるアプリ名です。
python manage.py migrate --fake hogehoge zero
以下タイプし、データベースシェルで行います。
python manage.py dbshell
まず、テーブル一覧から削除したいテーブル名を確認します。
sqlite> .tables
次に、対象データベースを削除します。hogehoge-dbは対象のデータベース名です。
sqlite> drop table hogehoge-db;
尚、models.py, forms.py, views.py, urls.py等において、上記削除したデータベースに関連する設定項目は削除等、アップデートして各ファイルを保存します。
シェルをCtrl+z(windowsの場合)で抜け出し、通常通りにmigrationします。
python manage.py makemigrations
データベースは存在するため、fakeコマンドでmigrateします。
python manage.py migrate --fake-initial