如何配置django以按特定顺序运行迁移文件

时间:2016-01-28 10:44:57

标签: python django

我有一个项目要求我在迁移时将初始数据插入数据库。现在一切正常,除了我需要告诉django在运行另一个之前插入一些与迁移文件链接的特定数据。

例如,假设我有两个迁移文件A和B,每个都分别附加到模型ModelA和ModelB。 A的迁移工作正常,但对于B,我自动生成其SQL语句,这需要我在生成语句时使用ModelA.objects.get(id=id),但是我收到错误ModelA.DoesNotExist,这意味着迁移A hasn'得救了。

有没有办法可以确保在继续运行迁移B之前保存了迁移A插入的数据?

1 个答案:

答案 0 :(得分:1)

正如@ tom-dalton提到的那样,通过依赖关系。

您可以在迁移文件here in the docs中看到依赖关系的示例。

它们采用以下格式编写:

from django.db import migrations, models

class Migration(migrations.Migration):

    dependencies = [("your_app_name", "migration_file_name")]

    operations = [
        # Migration operations here
    ]

您可以通过查看项目的迁移文件夹找到迁移文件名。

最后,您需要按照data migration process访问新迁移中的ModelA数据。