django中models文件迁移——修改和删除

django中models文件迁移——修改和删除

有时候在设计你的一个数据库表时,可能出错或者需要临时调整,在开始阶段出现这种错误并不可怕,只要中间没有数据,都可以改过来。

有时碰到因为错误将DecimalField设置成了DatetimeField,这个时候再去直接修改models中的class里的那个字段,是没有办法直接迁移的,会报错,因为django无法将已经存在Datetime转换为Decimal,这个时候,需要进行如下操作:

  1. 删除该表所在的app下migrations文件夹中的迁移文件——具体到哪个步骤出现了这个错误,pycache和ini中对应的都删除,比如已经迁移了5次,可能在前三次都是没有报错,那就删除4,和5两个步骤的迁移文件;
  2. 最好查看以下当前数据库中django_migrations这个表,如果迁移的步骤不涉及你要改的这道,则无需关注,否则可能需要删除相应的记录,保证和(1)中保留的一致;
  3. 注释掉那个DatetimeField,迁移。这样就可以临时删除掉这个字段
  4. 再拿掉注释,修改为你所需的字段类型,重新迁移
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值