Wecode|データベーステーブルの生成中にエラーが発生しました


データベース・テーブルの作成中にエラーが発生しました

models.pyでテーブル・クラスを作成して移行すると、次のエラーが発生することがあります.クラスを作成し、新しいテーブルに移行しようとするときに主に発生します.
You are trying to change the nullable field 'slug' on post to non-nullable 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) Ignore for now, and let me handle existing rows with NULL myself (e.g. because you added a RunPython or RunSQL
 operation to handle NULL values in a previous data migration)
 3) Quit, and let me add a default in models.py
Select an option:
このエラーは、makemigrationで既存の情報を変更する方法を指定していないため、エラーです.
テーブルクラスのコードを変更することで、エラーを解決できます.
CharField(default = '')
CharField(null = True)
または、ソリューションにデータ値を直接挿入するオプションを選択できます.
最後の方法は、移行するたびにinitファイルを作成することです.これは、これらをすべて消去し、表を一度に押し込む方法です.個人学習でこの方法を使用することをお勧めします.学習環境が表を破壊することを許さない場合は.

上記の移行で001_init.pyをクリアすればよい.既存の__init__.pyファイルは削除できません.
その後、きれいにクリアし、問題のあるテーブルをクリアします.
  • 테이블 삭제
  • DROP TABLE 테이블이름;
  • 마이그레이션 파일 보기
  • SELECT * FROM django_migrations;
  • 마이그레이션 파일 삭제
  • delete from django_migrations where app = 'app이름';
    これは移行リストです.問題のあるすべての移行ファイルを削除します.
    その後、移行を行うと、テーブルがよく生成されていることがわかります.