更改模型选择后,Django模型创建新的迁移

时间:2020-03-24 17:32:21

标签: python django django-models

我有一个名为UserRole的模型,并且有一个字段role,其中存在选择角色的选项。问题是,每当我添加新选项并运行makemigrations时,django都会为此创建新的迁移。我不想每次添加选择都进行新的迁移。我知道ForeignKey,但就我而言,最多有10个选择。现在我有3个预定义的选择。如何在不创建新迁移的情况下添加选择?

models.py

class UserRoleModel(BaseModel):
    ROLE_1, ROLE_2, ROLE_3 = 1, 2, 3,

    USER = 'user'
    SUPPORT = 'support'
    ANALYST = 'analyst'

    CHOICES = (
        (ROLE_1, USER),
        (ROLE_2, SUPPORT),
        (ROLE_3, ANALYST),
    )

    user = models.ForeignKey(get_user_model())
    role = models.SmallIntegerField(choices=CHOICES)

迁移文件

class Migration(migrations.Migration):

    operations = [
        migrations.AlterField(
            model_name='userrolemodel',
            name='role',
            field=models.SmallIntegerField(choices=[(1, 'user'), (2, 'support'), (3, 'analyst'), (4, 'lol')]),
        ),
    ]

我删除了多余的代码。

0 个答案:

没有答案