は、Djangoはまた、変化を検出します。Django:いつ実行するのですか?私はモデルにメソッドを追加または変更するときにモデル化するためにフィールドを変更/追加/削除することに加えて
は、だから私の質問は、私がmakemigrations
は私が変更したり、モデルに新しいメソッドを追加するたびに実行する必要がありますか?
は、Djangoはまた、変化を検出します。Django:いつ実行するのですか?私はモデルにメソッドを追加または変更するときにモデル化するためにフィールドを変更/追加/削除することに加えて
は、だから私の質問は、私がmakemigrations
は私が変更したり、モデルに新しいメソッドを追加するたびに実行する必要がありますか?
あなたが/変更モデルのメソッドを追加すると、あなたは./manage makemigrations
と./manage.py migrate
を実行する必要はありません。
しかし、あなたはあなたのモデルフィールド(、新しいものを追加し、既存のものを変更したり、それが取る引数のいずれかを変更すること)を編集するたびに、あなたは常にマイグレーションを実行する必要があります。すべての
まず、
./manage makemigrations
は、アプリの移行フォルダ内(migration_number)の.pyファイルを作成します。これらのコード行は、SQL文に似た実際のフィールドを作成するのに役立つ文です。
前のコマンドを使用して作成された移行を実行するために、我々は次のコマンドを実行しますが、
./manage.py migrate
にエラーがない場合は、あなたの新しいモデルフィールドがデータベースに反映される移行
私はメタクラスを追加または変更するたびに、Djangoは変化として検出?私もそれらのための移行を作成する必要がありますか? – Cody
@Cody。はいDjangoは 'Meta'の変更を検出するので、毎回**' makemigrations'と 'migrate'を行うべきです! –