gpt4 book ai didi

python - UUID 不是 JSON 可序列化的(转储数据)

转载 作者:行者123 更新时间:2023-12-04 14:19:54 28 4
gpt4 key购买 nike

我在使用命令 dumpdata 时遇到问题.我正在使用 django-uuidfield 然而,作为我的一些模型的主键;每当我尝试运行时 dumpdata ,我遇到了错误
TypeError: UUID('...') is not JSON serializable .

我发现在 Django 的 DjangoJSONEncoder 里面不检查 UUID 的类对象并将转到 default()抛出异常的父类。

当我添加支票时,它似乎工作正常,没有任何错误或警告。

我不确定这是错误还是我做错了什么。

注:

我没有更改任何代码 django-uuidfield .

谢谢。

编辑:
dumpdata适用于另一个模型,其中 uuidfield未设置为 auto .一个不起作用的有 uudfield设置为 auto .

最佳答案

在我的models.py中:

import uuid

在我的模型中:
class MyUser(AbstractUser):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

为了解决这个问题,我在 MyUser 中使用了这个函数:
def user_id(self):
return self.id.__str__()

作为 TypeError 尝试你输入 UUID不是 JSON 可序列化的,

所以你应该使用 string反而。

希望它会帮助你。

关于python - UUID 不是 JSON 可序列化的(转储数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27790538/

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