Django迁移:run_before与依赖关系

Pab*_*ada 1 migration django

我一直以为,依赖项可以确保我在那进行的所有迁移都在我声明的迁移之前进行。但是,今天我发现了关于run_before和Im的不确定之处。可以在声明Django迁移时澄清run_ before和之间的区别dependencies吗?

class Migration(migrations.Migration):

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

   run_before = [
    ('third_party_app', '0001_do_awesome'),
   ]  
Run Code Online (Sandbox Code Playgroud)

knb*_*nbk 6

run_before与完全相反dependencies。您应将其阅读为“此迁移必须在其他迁移之前运行”。

通常,您应该使用dependenciesover run_before。您需要使用的一种用例run_before是,外部应用程序是否以某种方式依赖于您的迁移之一。

“控制迁移顺序”中也对此进行了说明。