はじめに
Djangoでテーブル定義を修正したのにマイグレーションしても更新されない点で詰まったので、解決方法を残しておきます。
内容
$ python manage.py makemigrations
It is impossible to add a non-nullable field '×××××' to ××××× without specifying a default. This is because the database needs something to populate existing rows.
Please select a fix:
1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
2) Quit and manually define a default value in models.py.
Select an option:
Models.pyで定義したフィールドに設定する要素が足りていない状態を指摘されている。
解決方法
Models.pyの各フィールドに
blank = False, null = False
を追加する。
許容するとき:True
許容しないとき:False
のように、適切なものを設定する必要がある。
修正後、下記コマンドを実行するとテーブル定義が更新された。
$ python manage.py makemigrations
$ python manage.py migrate