python - 获取 : invalid input syntax for uuid: "" when using django-uuidfield as primary key for a model

标签 python django uuid

我有以下使用 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/

相关文章:

django - 如何在数据库和django admin中存储IP地址

python - 压平并返回keras

python - NumPy 中的加权计数

python - 如何使用反射和描述性语法覆盖 sqlalchemy 中的列名

string - 在 PL/SQL 中格式化 UUID 字符串而不使用 REGEXP_REPLACE

java - 使用单一数据结构的双向映射

MySQL 将 uuid 与主键匹配

python - 将整数从一个 def 编辑到另一个

Django South的替代品?

Django:以更改列表形式固定 header