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
ファイルは削除できません.
その後、きれいにクリアし、問題のあるテーブルをクリアします.
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:
CharField(default = '')
CharField(null = True)
테이블 삭제
DROP TABLE 테이블이름;
마이그레이션 파일 보기
SELECT * FROM django_migrations;
마이그레이션 파일 삭제
delete from django_migrations where app = 'app이름';
これは移行リストです.問題のあるすべての移行ファイルを削除します.その後、移行を行うと、テーブルがよく生成されていることがわかります.
Reference
この問題について(Wecode|データベーステーブルの生成中にエラーが発生しました), 我々は、より多くの情報をここで見つけました https://velog.io/@ssaboo/Wecode-day.24Fri-Database-table-오류テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol