フルスタックチャンネル
サインアップサインアップ
ログインログイン
利用規約プライバシーポリシーお問い合わせ
Copyright © All rights reserved | FullStackChannel
解決済
マイグレーションができない
Django
個人開発
初心者
ポカリ
2022/12/15 21:27

実現したいこと

カテゴリー機能追加

発生している問題

python manage.py makemigrationsを実行した後、
下記がターミナルに出力されました。

ソースコード

You are trying to add a non-nullable field 'category' to post 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
    Select an option:

自分で試したこと

登録している投稿はすべて削除しました

ネットでみてみましたが、いい解決方法がありませんでした。
ご教授いただけたらと思います。

よろしくお願いいたします。

補足情報

回答 6件
login
回答するにはログインが必要です
panman
3年以上前

解決したようでよかったです!

エラーコードでググってわからない場合はエラーコードを和訳するとわかる場合も多いので、ぜひ試してみてください!

panman
3年以上前

カテゴリーフィールドを必須に設定しているようですが、デフォルト値を設定していないようです。

models.pyでカテゴリーに初期値(デフォルト値)を設定してみてはいかがでしょうか

ポカリ
3年以上前

下記サイトをみて解決できました。<br>
https://code-schools.com/django-add-model/

categoryの引数に
default=''
と入力をしたら解決しました

1
はる@講師
3年以上前

ターミナルでデフォルトを設定すると解決しますが、簡単な解決方法としては、db.sqlite3ファイルを削除して、migrateしてみて下さい。

それでも解決しない場合、

  • migrationsフォルダを削除
  • db.sqlite3ファイルを削除
  • python3 manage.py migrate app
ポカリ
3年以上前

こちら試してみましたが、
下記のエラーが出てしまいます

django.db.utils.OperationalError: no such table: app_category

手順が誤っているということでしょうか?

ポカリ
3年以上前

ご回答ありがとうございます。

その方法もあるんですね。<br>
試してみます!