我有一个项目要求我在迁移时将初始数据插入数据库。现在一切正常,除了我需要告诉django在运行另一个之前插入一些与迁移文件链接的特定数据。
例如,假设我有两个迁移文件A和B,每个都分别附加到模型ModelA和ModelB。 A的迁移工作正常,但对于B,我自动生成其SQL语句,这需要我在生成语句时使用ModelA.objects.get(id=id)
,但是我收到错误ModelA.DoesNotExist
,这意味着迁移A hasn'得救了。
有没有办法可以确保在继续运行迁移B之前保存了迁移A插入的数据?
答案 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数据。