Django自动创建slug和integrity

2024-05-16 12:12:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我不明白。我在这里看到了Django - Slugs - Key (slug)=() is duplicated和这里Django: Key (slug)=(*) already exists的帖子。

以下是我的错误消息:

django.db.utils.IntegrityError: duplicate key value violates unique constraint "caseAT_case_slug_key" DETAIL: Key (slug)=() already exists.

在文件中说: https://docs.djangoproject.com/en/1.8/howto/writing-migrations/#migrations-that-add-unique-fields 应用“普通”迁移(将唯一的不可为null的字段添加到具有现有行的表)将引发错误,因为用于填充现有行的值只生成一次,从而打破了unique约束。

但这不是迁移。这是djangoitem管道。模型中有一个从标题自动创建的slug。因此,我没有把slug放在管道里。如果它希望创建slug,并且因为已经存在而停止,为什么它不希望创建所有其他的键呢?如果它不在管道中,为什么现在要尝试创建它?因为它希望创造它?所以我应该删除该字段上的自动创建?那它怎么被创造出来呢?我确实希望我的鼻涕虫与众不同。

在我看来,这似乎是循环的,疯狂的,但这又有什么区别呢?没有。感谢你的帮助。


Tags: djangokey消息管道ismigrations错误exists