小编Jac*_*kie的帖子

为什么我不能在编辑后保存我的模型实例?

我有一个模型,我可以很好地实例化,但一旦创建,如果我试图保存它我得到一个IntegrityError说主键必须是唯一的.是什么导致了这个?

还有其他模型继承自Node,他们给了我同样的问题.

这是我的模特:

class Node(MPTTModel):
    title = models.CharField(max_length=255)
    parent = models.ForeignKey('self', null=True, blank=True,
                               related_name='children')

class Book(Node):
    isbn13 = models.CharField(max_length=14)
    description = models.TextField()
Run Code Online (Sandbox Code Playgroud)

这是它生成的SQL:

CREATE TABLE "main_node" (
    "id" integer NOT NULL PRIMARY KEY,
    "title" varchar(255) NOT NULL,
    "parent_id" integer,
    "type" varchar(1) NOT NULL,
    "lft" integer unsigned NOT NULL,
    "rght" integer unsigned NOT NULL,
    "tree_id" integer unsigned NOT NULL,
    "level" integer unsigned NOT NULL
)
;
CREATE TABLE "main_book" (
    "node_ptr_id" integer NOT NULL PRIMARY KEY REFERENCES "main_node" ("id"),
    "isbn13" varchar(14) …
Run Code Online (Sandbox Code Playgroud)

django django-models django-orm django-mptt

6
推荐指数
1
解决办法
2934
查看次数

标签 统计

django ×1

django-models ×1

django-mptt ×1

django-orm ×1