gpt4 book ai didi

django - 南迁后Django App中没有这样的列错误

转载 作者:行者123 更新时间:2023-12-03 13:21:48 25 4
gpt4 key购买 nike

我在这里遇到了评论者提出的相同问题:Django South - table already exists

没有后续行动,所以我想我会发布一个新问题。我有一个 Django 应用程序,我使用 South 管理其迁移。我在模型中添加了一个字段,然后运行

./manage schemamigration my_app --auto

按预期运行。运行
./manage migrate my_app

但是,导致错误指示与我更改的模型关联的表已存在。这让我想到了上面链接的问题,所以运行
./manage migrate my_app --fake

解决了表错误,但现在我收到一个 Django 错误,即与新字段关联的列不存在。
./manage sqlall my_app

显示架构符合预期。

任何关于如何解决这个问题的想法都值得赞赏!

最佳答案

对您来说最简单的方法可能是从头开始迁移。

全部删除migrations/*您尝试修复的应用程序的文件。恢复您的 models.py到目前数据库上的状态(借助版本控制工具,或者只是注释掉新字段)。然后初始化迁移:

manage.py migrate my_app --delete-ghost-migrations
manage.py schemamigration my_app --init
manage.py migrate my_app --fake

这将在迁移中创建当前数据库结构的记录。

现在将您的更改添加到 models.py南方现在将发生什么变化:
manage.py schemamigration my_app --auto
manage.py migrate my_app

关于django - 南迁后Django App中没有这样的列错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4119039/

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