Python 将django模型主键UUID字段迁移到CharField
我需要更改oracle数据库上的id字段大小,以支持存储更长的id。默认情况下,在django中使用UUIDField会创建一个具有32字节varchar字段的表,但我们现在需要它来存储由uuid.uui4生成的id以及提供的字符长度高达80的id。在django中实现这一点最简单的方法是什么,以便在其他模型中保持外键关系的同时跨环境迁移保持一致Python 将django模型主键UUID字段迁移到CharField,python,sql,django,oracle,django-models,Python,Sql,Django,Oracle,Django Models,我需要更改oracle数据库上的id字段大小,以支持存储更长的id。默认情况下,在django中使用UUIDField会创建一个具有32字节varchar字段的表,但我们现在需要它来存储由uuid.uui4生成的id以及提供的字符长度高达80的id。在django中实现这一点最简单的方法是什么,以便在其他模型中保持外键关系的同时跨环境迁移保持一致 class CurrentModel(models.Model): id = models.UUIDField(primary_key=True
class CurrentModel(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
class desiredModel(models.Model):
id = models.CharField(max_length=80, primary_key=True, default=uuid.uuid4)
这是我们所做的更改,但oracle在应用迁移django.db.utils.DatabaseError:ORA-01430:正在添加的列已存在于表中我不是django专家,但您可能需要使用django的选项