我在用户模型字段中有
class User(PermissionsMixin):
id = models.UUIDField(primary_key=True,
unique=True,
default=uuid.uuid4,
editable=False)
但是我需要更改此字段
class User(PermissionsMixin):
id = models.CharField(primary_key=True,
unique=True,
max_length=32,
default=uuid.uuid4,
editable=False)
我有postgre数据库。当我进行迁移时,我遇到了错误:
File "/home/alex/projects/Test/venv/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.DatatypeMismatch: foreign key constraint "users_groups_user_id_f500bee5_fk_users_id" cannot be implemented
DETAIL: Key columns "user_id" and "id" are of incompatible types: uuid and character varying.
能给我一些建议,如何将字段从UUIDField
更改为CharField
答案 0 :(得分:-2)
我认为问题是您正在直接将对象类型传递给数据库,请尝试仅传递该对象的主键,例如id,或者在您的情况下,我可以看到其varchar,因此它可能是String或该对象UUIDField的字符。
在Java中,您只需使用object.getField(),然后在Python中尝试相同的操作。告诉我怎么回事