我有以下使用django-uuidfield作为主键的模型类:
class FODType(models.Model):
id = UUIDField(auto=True, primary_key=True)
name = models.CharField(max_length=50)
从管理员,我尝试为此模型创建一个条目,但出现以下错误:
如果未指定,则将模型中的
UUIDField
设置为自动创建一个值,但是在这种情况下,将空字符串指定为保存中主键的值。由于主键具有值,因此它尝试执行更新而不是插入操作而失败。我在这里做错了什么?
最佳答案
请注意,当用作主键时,django-UUDField实现不能反射(reflect)预期的行为,如果save()由于任何原因而失败,则该字段的值仍然存在,因此无法再使用obj.pk检查对象是否存储。