Django DB 迁移添加新列,但不要编辑表中已有的值

Posted

技术标签:

【中文标题】Django DB 迁移添加新列,但不要编辑表中已有的值【英文标题】:Django DB migration adds new columns, but do not edit the values already in the table 【发布时间】:2021-02-07 15:55:43 【问题描述】:

我有一个用于创建表并指定应添加到其中的值的 python 脚本。我使用以下两个命令进行迁移。

python manage.py makemigrations
python manage.py migrate

会发生这样的事情:

    当我最初使用上述命令时(当没有表时),所有表都是用正确的值创建的。 在进行第一次迁移(创建表并添加值)后,如果我在脚本中向表中添加新列,然后运行上述命令,则新列已成功添加到表中。 但是,在进行第一次迁移(创建表并添加值)之后,如果我更改要添加到表中的值(在脚本中),然后运行上述命令,我会得到输出“没有更改检测到”。而且这些值也没有更新。

我怎样才能实现上面提到的第三步。我是 Django 的新手,所以请帮帮我。

【问题讨论】:

【参考方案1】:

这两个命令仅在您更改列名时才会显示。如果您更改列内的值,则它不会显示在终端中。您可以通过管理员登录检查表内的值。

【讨论】:

感谢您的回复。我检查了,但表中的值没有改变。

以上是关于Django DB 迁移添加新列,但不要编辑表中已有的值的主要内容,如果未能解决你的问题,请参考以下文章

在迁移中向现有表添加新列

Laravel 迁移 - 为 5000 万条数据添加新列

如何将新列动态添加到 bigquery 中已存在的表..?

如何将 CSV 导出复制到添加了新列的 Redshift 表中?

从表中的查询编辑器中添加新列

向表中添加新列