我不明白。我在这里看到了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,并且因为已经存在而停止,为什么它不希望创建所有其他的键呢?如果它不在管道中,为什么现在要尝试创建它?因为它希望创造它?所以我应该删除该字段上的自动创建?那它怎么被创造出来呢?我确实希望我的鼻涕虫与众不同。
在我看来,这似乎是循环的,疯狂的,但这又有什么区别呢?没有。感谢你的帮助。
我有办法对付任何人。我要做的就是给slugfield添加null=True。它实际上不是一个重复的密钥。它是一个重复的值“”,表示为slug['']。请参见阿拉斯代尔的回答: Django unique, null and blank CharField giving 'already exists' error on Admin page
相关问题 更多 >
编程相关推荐