将Django模型主键UUID字段迁移到CharField

时间:2020-09-29 16:54:04

标签: 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, default=uuid.uuid4, editable=False)

class desiredModel(models.Model):
   id = models.CharField(max_length=80, primary_key=True, default=uuid.uuid4)

这是我们所做的更改,但在应用迁移django.db.utils.DatabaseError时oracle引发错误:ORA-01430:表中已添加列

1 个答案:

答案 0 :(得分:0)

我不是Django专家,但您可能需要使用Django的AlterField选项。