我有以下使用 django-uuidfield 作为主键的模型类:
class FODType(models.Model):
id = UUIDField(auto=True, primary_key=True)
name = models.CharField(max_length=50)
从管理员那里,我尝试为此模型创建一个条目,但我收到以下错误:
如果未指定值,模型中的DataError at /admin/Bleary/fodtype/add/ invalid input syntax for uuid: "" LINE 1: ... WHERE "Bleary_fodtype"."id" = ''
UUIDField
设置为自动创建一个值,但在这种情况下,空字符串被指定为保存时主键的值。由于主键有一个值,它试图进行更新而不是插入并失败。
我在这里做错了什么?
最佳答案
请注意,当用作主键时,django-UUDField 实现不会反射(reflect)预期的行为,如果 save() 由于任何原因失败,该字段的值仍然存在,因此无法再使用检查 obj.pk 来检查是否存储对象。
关于python - 获取 : invalid input syntax for uuid: "" when using django-uuidfield as primary key for a model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20928439/