Django UUIDField modelfield在Django admin中导致错误:格式错误的十六进制UUID字符串

发布于 2021-01-29 15:05:43

我有一个Django 1.8项目,在我的一个模型中,我正在使用新的UUIDField,如下所示:

class MyModel(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

我还设置了admin.py:

@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
    pass

当我加载管理页面以尝试创建实例时,出现错误:

ValueError at /admin/core/mymodel/add/
badly formed hexadecimal UUID string

我能够从Django shell(./manage.py shell)创建实例没有问题。一旦完成,即使在查看对象实例列表时,在管理站点上也会遇到与以前相同的错误。

有什么想法吗?

关注者
0
被浏览
74
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    问题是我在数据库中已有一个默认整数自动递增的现有记录id,然后才确定id模型上的字段是UUIDField。该字段的值是just
    1,这不是有效的UUID十六进制字符串。

    删除此记录解决了我的问题。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看