首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django migrations.RenameField创建新字段而不是重命名现有字段

Django migrations.RenameField创建新字段而不是重命名现有字段
EN

Stack Overflow用户
提问于 2022-06-01 15:47:35
回答 1查看 85关注 0票数 1

我编辑了一个新的迁移文件,而不是添加一个新的字段,只是重命名一个已经存在于Django模型上的字段

这是这个领域唯一的变化

代码语言:javascript
复制
    migrations.RenameField(
        model_name='my_field',
        old_name='field_old_name',
        new_name='field_new_name',
    ),

但是在运行manage.py migrate之后,我注意到添加了一个新字段(默认字段值),而旧字段仍然存在。

当再次运行manage.py makemigrations时,它会创建一个迁移以删除旧字段。

我不能做的事,因为我会失去数据

步骤:

添加到模型中的新字段(不删除旧字段以不破坏code)

  • manage.py makemigrations

  • code,更改为使用已编辑的新field

  • migration文件使用migrations.RenameField

  • manage.py迁移

)

EN

回答 1

Stack Overflow用户

发布于 2022-06-01 15:47:35

注意:,我决定把这个放在这里,因为问题还没那么明显

问题是生成迁移文件后,我没有对它的写权限。

所以我所做的版本出现在VS代码中,但是没有保存在文件中,所以运行manage.py迁移时应用的迁移没有RenameField命令

运行sudo chmod -R 775 <project_folder>sudo chown <user> -R <project_folder>解决了

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72464732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档