У меня есть модель с именем 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')]),
),
]
Я удалил избыточный код.