Как правильно снять уникальное ограничение в Django при миграции поля OneToOneField в ForeignKey?

Мне нужно преобразовать поле OneToOneField в ForeignKey и, очевидно, удалить уникальное ограничение, но команда makemigrations не может определить эту операцию и не добавляет операцию RemoveConstraint.

Как я могу создать правильное ограничение RemoveConstraint в файле миграций и сделать его более безопасным для применения? Я думал получить имя ограничения и жестко закодировать его, но я подумал, нет ли более умного способа сделать это.

Это созданный файл миграции

class Migration(migrations.Migration):

    dependencies = [
        ('acc', '0018_auto_20211113_2246'),
    ]

    operations = [
        migrations.AlterField(
            model_name='account',
            name='owner',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='accounts', to='acc.owner'),
        ),
        migrations.AlterField(
            model_name='account',
            name='internal_account',
            field=models.BooleanField(blank=True, default=True, editable=False, null=True),
        ),
        migrations.AlterField(
            model_name='historicalaccount',
            name='internal_account',
            field=models.BooleanField(blank=True, default=True, editable=False, null=True),
        ),
    ]

Вернуться на верх