我创建了一个带有初始IntegerField主键的表,后来将ID更改为UUIDField。现在,这会引发一个“格式不正确的十六进制UUID字符串”,我猜是因为诸如“ 1”之类的数字不是有效的UUID值。在为django应用程序更新models.py文件时,有人知道在代码中解决此问题的简洁方法吗?
[在进行所有操作之前,请仔细检查您是否没有使用Cascade的外键,以使该模型成为可能。然后,不要更改id = models.IntegerField()
的类型:
uuid = models.UUIDField(default=uuid.uuid4, primary=True)
(默认将为现有行设置该字段)id
字段uuid
字段重命名为id
但是,您应该知道删除id
字段和/或命名uuid
不是强制性的,并且通常都保留两者都是一个好主意。