在我的数据库中,我有一列:
currency = models.CharField(max_length=10, blank=True, null=True)
我想将这一列从CharField
更改为IntegerField
。因此在models.py
中我更改了以下内容:
currency = models.IntegerField(blank=True, null=True)
然后我进行了迁移:python manage.py makemigrations
和python manage.py migrate
。 在那之后出现了错误:
django.db.utils.ProgrammingError: column "currency" cannot be cast automatically to type integer
HINT: Specify a USING expression to perform the conversion.
接着在pgAdmin3控制台中,我进行了以下更改:
ALTER TABLE my_table ALTER COLUMN currency TYPE integer USING (currency::integer);
但我仍然遇到了这个错误,我尝试把所有东西都改回来,但错误并没有消失。我该怎么做才能避免这个错误。谢谢。