見出し画像

django, migrationsに泣く。(Django入門)

アブストラクト
・djanto:'we are trying to add a non-nullble field...'→アプリのmigratnonsフォルダを初期化で回避できる。(rm -r migrations)meaning  'your project'/'your app'/migrations。
・migrationsの上書きの繰り返しは失敗する可能性有

序論
modelをせっせと書いてmakemigrationsでmigrationsファイルを上書きし続けたところエラーに遭遇したので書きました。

本論


$ python manage.py makemigrations
You are trying to add a non-nullable field 'new_model' to member without a default; we can't do that (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 let me add a default in models.py

ざっくり和訳:Django:「null許容型ではないフィールド’new_model’を追加しようとしているが不可能である。修正方法を選びなさい。
(1)一回性のデフォルトを今作る。
(2)やめる。んでデフォルトを加える。」
(...私「???('・ω・' ;)])
null許容型とは一般には引数に'nothing'を取れる変数のことを言うので、null許容の機能が正常に機能することはDB管理で重要です。しかし普通にmigrateしても上記のエラーが繰り返すばかりであったので、今回はエラー回避を目的にmigrationを初期化することを考えました。project/app/migrationをremoveしてもう一度migrateするとうまくいったので同じエラーで困っている人は試してみてほしいです。備忘録終わります。

結論
Django.migrationの上書きはエラーを出しうるので、困ったら落ち着いて初期化しよう。

この記事が気に入ったらサポートをしてみませんか?