我現在的模型設置如下:在Django轉換CharField到選擇欄(PositiveSmallIntegerField)
Class MyClass(models.Model):
my_field = models.CharField(max_length=100,...)
所有值要麼是爲了討論,"foo"
或"bar"
的緣故。
我想轉換這是一個PositiveSmallIntegerField,而不是與以下設置:
Class MyClass(models.Model):
FOO = 0
BAR = 1
FOO_BAR_CHOICES = (
(FOO, 'foo')
(BAR, 'bar')
)
my_field = models.PositiveSmallIntegerField(choices=FOO_BAR_CHOICES,...)
有沒有,我可以轉換舊my_field
CharField是一個PositiveSmallIntegerField,並保持我所有的舊數據進行任何方式?或者,我必須爲模型添加一個新字段,通過針對舊字段運行腳本來填充值,刪除舊字段,然後將我的PositiveSmallIntegerField重命名爲舊CharField的名稱?
您需要進行數據遷移,因爲您要更改數據庫中的數據表示。 – wim