the*_*aju 5 python django uuid
我有以下使用django-uuidfield作为主键的模型类:
class FODType(models.Model):
id = UUIDField(auto=True, primary_key=True)
name = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)
从管理员,我尝试为此模型创建一个条目,但我收到以下错误:
/ admin// Bleary/fodtype/add /无效输入语法为uuid:""LINE 1:... WHERE"Bleary_fodtype"."id"=''
UUIDField如果没有指定值,则将模型设置为自动创建一个值,但在这种情况下,将指定空字符串作为保存主键的值.由于主键具有值,因此它尝试进行更新而不是插入并失败.
我在这做错了什么?
请注意,django-UUDField 实现不反映用作主键时的预期行为,如果 save() 由于任何原因失败,字段的值将持续存在,因此无法再使用检查 obj.pk 来检查对象是否存在是否已存储。