【发布时间】:2019-09-27 08:26:35
【问题描述】:
当应用以下迁移时,
class Migration(migrations.Migration):
dependencies = [
('outlets', '0009_auto_20190920_1155'),
]
operations = [
migrations.AlterField(
model_name='outlet',
name='country',
field=models.IntegerField(choices=[(1, 'UAE'), (2, 'India')],
verbose_name='Country'),
),
]
出现以下错误,
return self.cursor.execute(sql, params)
django.db.utils.DataError: invalid input syntax for integer: "United States"
这是因为我将 CharField 更改为 IntegerField 并且在 db 中已经存在以下数据“美国”,而且我在类似的问题中读到,django 迁移无法处理此类更改。
有什么方法可以在不删除现有数据的情况下执行此操作?
【问题讨论】:
-
您可以在 django shell 中手动完成,只需获取国家/地区字段的所有条目以及“美国”在哪里放置 1 和“印度”在哪里放置 2 问题已解决。
标签: django django-models django-migrations