web-dev-qa-db-ja.com

Django:makemigrationsを実行するタイミングは?

モデルへのフィールドの追加/削除/変更に加えて、Djangoは、モデルにメソッドを追加または変更したときにも変更を検出します。

だから私の質問は、モデルに新しいメソッドを変更または追加するたびにmakemigrationsを実行する必要があるかどうかです。

7
Cody

モデルメソッドを追加/変更する場合、./manage makemigrationsおよび./manage.py migrateを実行する必要はありません。

ただし、モデルフィールドを編集する(新しいフィールドを追加する、既存のフィールドを変更する、または必要な引数を変更する)場合は常に、移行を実行する必要があります。

18
nik_m

まず第一に、

./manage makemigrations

アプリの移行フォルダーに(migration_number).pyファイルを作成します。これらのコード行は、SQLステートメントと同様に、それぞれのデータベースに実際のフィールドを作成するのに役立つステートメントに他なりません。

前のコマンドを使用して作成された移行を実行するために、次のコマンドを実行します。

./manage.py migrate

移行時に、エラーがない場合、新しいモデルフィールドはデータベースに反映されます

2
Abijith Mg