我有一个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 :(得分:6)
问题是我在数据库中有一个现有记录,其中包含默认的整数自动增量id
,之前我具体说明模型上的id
字段是UUIDField
。此字段的值仅为1
,这不是有效的UUID十六进制字符串。
删除此记录解决了我的问题。