小编Sul*_*rov的帖子

Django将ForeignKey改为IntegerField而不丢失数据的迁移策略

我有模型

class SomeModel(models.Model):
    target_field = models.ForeignKey(
        'OtherModel', on_delete=models.PROTECT, verbose_name=_('Target Field'),
    )

Run Code Online (Sandbox Code Playgroud)

我想把它改成

class SomeModel(models.Model):
    target_field_id = models.PositiveIntegerField(_('Target field id'))

Run Code Online (Sandbox Code Playgroud)

我想在不丢失由ForeignKey 字段存储在target_field_id 中的数据的情况下执行此操作。

我尝试运行 makemigrations。但它删除列然后创建新列。

非常感谢任何帮助。

python django django-models django-migrations

4
推荐指数
1
解决办法
849
查看次数

标签 统计

django ×1

django-migrations ×1

django-models ×1

python ×1