gpt4 book ai didi

python - Django 与 MySQL uuid

转载 作者:行者123 更新时间:2023-11-28 23:37:16 24 4
gpt4 key购买 nike

这里是 Django 菜鸟

我创建了一个模型使用

customer_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

将模型迁移到MySQL后,我尝试使用

将数据添加到mysql中
insert into customer_customer (customer_id, ...) values (uuid(), ...)

数据使用唯一代码正确插入 MySQL,但是,当我尝试通过 Django 管理工具显示此数据时(此表为用户提供一个属性),它会抛出格式错误的 uuid 错误。

File "/usr/lib/python2.7/uuid.py", line 134, in __init__
raise ValueError('badly formed hexadecimal UUID string')
ValueError: badly formed hexadecimal UUID string

请讨论是否有其他方法可以直接在 MySQL 中创建种子数据。

最佳答案

A field for storing universally unique identifiers. Uses Python’s UUID class. When used on PostgreSQL, this stores in a uuid datatype, otherwise in a char(32).

因此对于 MySQL,django 处理 uuid,并将字段管理为 Char32。您不能使用 native MySQL uuid。

如果您必须从 MySQL 端创建 uuid,请在 Django 模型中使用 CharField,并填充它:

class MyModel(models.Model):

fld = models.CharField(max_length=36)

然后保存时:

import uuid
MyModel.fld = str(uuid.uuid4())

默认:

fld = models.CharField(max_length=36, default=uuid.uuid4)

关于python - Django 与 MySQL uuid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35419309/

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