gpt4 book ai didi

python - django 迁移有错误 : Specify a USING expression to perform the conversion

转载 作者:太空狗 更新时间:2023-10-29 20:56:08 25 4
gpt4 key购买 nike

我将模型字段从 Charfiled() 更改为 GenericIPAddressField()

ip = models.GenericIPAddressField()

并使用 django 1.7 迁移

./manage.py makemigrations core
./manage.py migrate

但是有错误:

return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: column "ip" cannot be cast automatically to type inet
HINT: Specify a USING expression to perform the conversion.

我试过了,但是不行:

ALTER TABLE core_message ALTER COLUMN ip TYPE inet USING (ip::inet);

错误:

ERROR:  invalid input syntax for type inet: ""

我现在能做什么?
请帮助我谢谢!

最佳答案

一个快速解决方法是删除并创建该字段:

  1. 删除正在更改字段类型的迁移。
  2. 删除/注释字段ip
  3. 进行迁移
  4. 使用新字段类型返回/取消注释字段 ip
  5. 进行迁移
  6. 迁移

我在生产环境中执行了此操作,并使用之前的 csv 备份和几行代码的 python 脚本恢复了数据。

关于python - django 迁移有错误 : Specify a USING expression to perform the conversion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27163724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com