gpt4 book ai didi

python - Django 上的数据迁移获取以前的模型版本

转载 作者:太空宇宙 更新时间:2023-11-03 16:11:55 25 4
gpt4 key购买 nike

我正在进行数据迁移,需要将外键更改为不同的模型,并将所有现有实异常(exception)键更改为新模型 pk。我认为这可以通过 Django 上的数据迁移来实现。我的问题是:

如何访问模型的早期版本以执行数据迁移?

我想做这样的事情:

MyPreviousModel = previousModels.MyModel

ModelAfterMigration = afterMigrations.MyModel

all_previous = MyPreviousModel.objects.all()

for element in all_previous:
element.previous_fk = new_foreignKey
ModelAfterMigrations.create(element)

最佳答案

使用版本化应用程序注册表来获取模型,而不是导入语句。

def my_migration(apps, schema_editor):
MyModel = apps.get_model("my_app", "MyModel")

传递给迁移工作函数的第一个参数是一个应用程序注册表,其中加载了所有模型的历史版本,以匹配迁移在历史记录中的位置。

关于python - Django 上的数据迁移获取以前的模型版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39208967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com