Колонка Django migrate не имеет того же типа данных, что и ссылающаяся колонка
У меня есть следующая модель, которая является существующей моделью БД, и через команду управления inspectdb в Django создается следующая модель.
class ExistingLegacyModel(models.Model):
period = models.TextField(db_column="Period", blank=True, null=True)
key = models.AutoField(db_column="Outloo", primary_key=True)
class Meta:
managed = False
db_table = "table_name"
и в настоящее время я пытаюсь создать модель с полем внешней ключевой ссылки на существующую унаследованную модель БД
class TestModel(models.Model):
period = models.ForeignKey(
ExistingLegacyModel,
on_delete=models.CASCADE,
db_column="Key",
)
Итак, когда я запускаю команду makemigrations, файл миграции успешно создается без проблем. Ниже приведено содержимое файла миграции.
class Migration(migrations.Migration):
initial = True
dependencies = [
('historical', '0011_phoenixcontractprice'),
]
operations = [
migrations.CreateModel(
name='TestModel',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('period', models.ForeignKey(db_column='Key', on_delete=django.db.models.deletion.CASCADE, to='app.ExistingLegacyModel')),
],
),
]
Теперь, когда я запускаю команду migrate, она не работает и выдает следующую ошибку.
django.db.utils.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Column 'table_name.OutlookKey' is not the same data type as referencing column 'version_testmodel.OutlookKey' in foreign key 'version_testmodel_OutlookKey_eb16c31c_fk_table_name_OutlookKey'. (1778) (SQLExecDirectW); [42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Could not create constraint or index. See previous errors. (1750)")
Я столкнулся с этой проблемой за последние пару дней и обыскал весь интернет, но не нашел никакого решения. Один похожий вопрос я нашел на StackOverflow, но и там я не получил никакой помощи. ссылка - Django - Migration foreign key field type not matching current type
В настоящее время я использую Django 3.2.13 и mssql-django для подключения к базе данных MSSQL.
Любая помощь по этому вопросу будет высоко оценена! Заранее спасибо.