如何在Django中将已填充数据库的IntegerField更改为CharField?

如何在Django中将已填充数据库的IntegerField更改为CharField?,django,django-models,database-migration,django-migrations,Django,Django Models,Database Migration,Django Migrations,我需要将模型字段类型从IntegerField更改为CharField。我的数据库已经在生产中。应用迁移时,将显示以下错误: class Migration(migrations.Migration): operations = [ migrations.AlterField( model_name='room', name='number', field=models.CharField(max_len

我需要将模型字段类型从IntegerField更改为CharField。我的数据库已经在生产中。应用迁移时,将显示以下错误:

class Migration(migrations.Migration):
  operations = [
        migrations.AlterField(
            model_name='room',
            name='number',
            field=models.CharField(max_length=32),
        ),
    ]
django.db.utils.ProgrammingError:运算符不存在:字符变化>=整数

提示:没有与给定名称和参数类型匹配的运算符。你 可能需要添加显式类型转换

我有一个解决方案,但对我来说似乎很乏味:

  • 假设“number”是IntegerField。我想换成查菲尔德。创建新字符域'number\u char',从整型字段'number'克隆数据,删除'number'并将'number\u char'重命名为'number'
在Django最优雅的方式是什么


提前感谢。

显示您正在尝试应用的迁移。updated@DanielRoseman