我有一个对象,它的属性是DateTimeField
,现在我想把它改成DateField
。
但是我的数据库中已经有数据了,所以只需要执行此迁移:
migrations.AlterField(
model_name='assignedtip',
name='date',
field=models.DateField(),
),
不会工作,因为table后来被打破了。
如何确保在使用makemigration
执行此迁移时,首先将DateTimeField
值转换为DateFields
?
1条答案
按热度按时间8cdiaqws1#
我认为,最好分四步来做:
1.首先添加包含
NULL
的字段assignedtip_date
作为开始;1.然后运行 * 数据迁移 *,用
assignedtip
的截断部分填充字段;1.然后删除
assginedtip
字段;和1.最后将
assginedtip_date
字段重命名为assignedtip
。因此,迁移看起来像: