【发布时间】:2015-03-03 15:22:32
【问题描述】:
我遇到了命令 dumpdata 的问题。但是,我使用django-uuidfield 作为我的一些模型的主键;每当我尝试运行dumpdata 时,都会遇到错误
TypeError: UUID('...') is not JSON serializable.
我发现在 Django 的 DjangoJSONEncoder 类内部,它不会检查 UUID 对象,而是会转到引发异常的父类的 default()。
当我添加检查时,它似乎工作正常,没有任何错误或警告。
我不确定这是错误还是我做错了什么。
注意:
我没有更改django-uuidfield 中的任何代码。
谢谢。
编辑:
dumpdata 适用于 uuidfield 未设置为 auto 的另一个模型。不起作用的是将uudfield 设置为auto。
【问题讨论】:
-
我看过了,但我注意到它适用于我的一个模型。两者的区别在于不起作用的是
auto,而起作用的是不是auto。 -
我明白了。我还没有调查为什么使用 auto 会失败,但是将
auto关闭并使用save()覆盖设置值并不是很困难。
标签: python json django serialization uuid