Как в Django модели перенести pk для другого поля
У меня есть модель Domain, в которой изначально pk было задано на поле domain.
class Domain(SeoBase):
class Meta:
verbose_name = 'домен'
verbose_name_plural = 'домены'
ordering = ['domain']
id = models.AutoField(primary_key=True, unique=True, auto_created=True, serialize=False)
domain = models.CharField(
'Имя домена',
max_length=100,
validators=[_simple_domain_name_validator],
# primary_key=True,
unique=True,
)
Суть моего вопроса в том, что сейчас потребовалось вынести pk с этого поля и вернуть его по умолчанию на id. Для этого я создал поле id (Вы можете увидеть его в коде выше), но теперь при попытке сделать миграции, django просит меня ввести дефолтное значение для этих полей
You are trying to add a non-nullable field 'domain_id' to domain without a default; we can't do that (the database needs something to populate existing rows).
Please select a fix:
1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
2) Quit, and let me add a default in models.py
Select an option:
Естественно ввести какое-то одно значение для id невозможно, как мне это лучше сделать?