1. ホーム
  2. パイソン

Django makemigration 変更は検出されませんでした。

2022-03-02 09:33:11

djangoアプリを新しい環境に移したところ、こんな問題が発生しました。

> makemigrations - No changes detected
> migrate - No migrations to apply.

その後、python manage.py runserverを実行すると、ウェブサイトにはアクセスできますが、データベースが絡むとエラーが報告されます。

例えば、こんな感じです。

例外の種類 プログラミングエラー
例外値。
関係 "xxx_xxx" は存在しません。
LINE 1: SELECT COUNT('*') AS "__count" FROM " xxx_xxx ...

makemigrationsとmigrateで検出して実行したが、対応するテーブルが正常に作成されなかったという明らかなエラーである。
解決方法は

1. migrations と __pycache__ フォルダを削除します。
2. python manage.py makemigrations app_nameを再実行します。これにより、django は
3. python manage.py migrate. 

これにより、テーブルが正常に作成されます。

Webで調べると、変だとか、djangoはバカだとか、よくわからない情報が多く、具体的にあまり詳しく見ていません。もし具体的に知っていることがあれば、一緒にコメントを残してください。