2016-08-31 4 views
0

マイグレーションを宣言する前に、私がそこに置いたすべてのマイグレーションが実行されていることを、依存関係によって常に確認しました。しかし、今日私はrun_beforeと私は両方の違いは何かについてはわからないことがわかった。 Djangoの移行を宣言するときにrun_ beforedependenciesの違いを明らかにすることはできますか?Djangoマイグレーション:run_beforeと依存関係

class Migration(migrations.Migration): 

    dependencies = [ 
     ('myapp', '0123_the_previous_migration'), 
    ] 

    run_before = [ 
    ('third_party_app', '0001_do_awesome'), 
    ] 

答えて

3

run_beforedependenciesの正反対です。これらの移行の前にこの移行を実行する必要があります。

を通常run_before以上に使用する必要があります。 run_beforeが必要なユースケースの1つは、外部アプリがあなたの移行のいずれかに何らかの形で依存しているかどうかです。

これは、"Controlling the order of migrations"でも説明されています。

+0

ありがとうございました。 「正反対」は私にはっきりとしたものでした。質問を書く前にあなたが投稿したリンクを読みましたが、run_beforeは「1つのImを書き込む前にこの移行を実行する」と言いました。ありがとうございました! –

関連する問題