我之前的MySQL表中添加了一个字段:
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2017-09-14 00:49
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('my_app', '0102_previous_migrations'),
]
operations = [
migrations.AddField(
model_name='my_client',
name='my_team',
field=models.CharField(choices=[('Unassigned', 'Unassigned'), ('ACT', 'ACT'), ('Korea', 'Korea'), ('National', 'National')], default='Unassigned', max_length=255, verbose_name='My Team'),
),
]
在我的用户界面中,用户可以选择上述选项之一,并将其保存到my_client表中:
- 未分配
- ACT
- 韩国
- 国家
更改已经部署,现在像我这样的初学者想要进行更改,即删除“韩国”并添加2个新选项:“NSW”和“SA”。
我该如何操作?我需要另一个迁移还是只需更改模型中的这些选项?
我现在在我的模型中使用它,就像这样:
class Client(MyAppModel):
TEAM_CHOICES = (
('Unassigned', 'Unassigned'),
('ACT', 'ACT'),
('Korea', 'Korea'),
('National', 'National'),
)
DEFAULT_TEAM = 'Unassigned'
my_team = models.CharField(verbose_name='MyTeam', null=False, max_length=255, choices=TEAM_CHOICES, default=DEFAULT_TEAM)
更新:
根据我的评论,我还需要进行迁移,使用AlterField命令吗?
如果我想将韩国从选择中删除,那么现在必须立即更新表my_client中所有已有的值,如果它们中有任何一个是Korea,则将其更新为“未分配”。在迁移中可以使用什么命令?