我对某些模型有 FK
class A(models.Model):
b = models.FK(to=B)
我需要将其更改为 IntegerField 所以它看起来像
class A(models.Model):
b_id = models.IntegerField()
如何在不真正更改数据库中的任何内容的情况下添加新的迁移?
我对某些模型有 FK
class A(models.Model):
b = models.FK(to=B)
我需要将其更改为 IntegerField 所以它看起来像
class A(models.Model):
b_id = models.IntegerField()
如何在不真正更改数据库中的任何内容的情况下添加新的迁移?
创建一个迁移,它将更改字段类型,然后重命名该字段:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('app', '000X_the_name_of_prev_migration'),
]
operations = [
migrations.AlterField(
model_name='a',
name='b',
field=models.IntegerField(),
preserve_default=True,
),
migrations.RenameField(
model_name='a',
old_name='b',
new_name='b_id',
),
]
事实上,在 SQL 级别会有两个列的重命名,b_id -> b
但b -> b_id
该列中的数据将被保留。