Django модель создает новую миграцию после изменения в выборе модели - PullRequest
0 голосов
/ 24 марта 2020

У меня есть модель с именем 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')]),
        ),
    ]

Я удалил избыточный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...