我不明白这一点。我在这里看到帖子Django - Slugs - Key (slug)=() is duplicated 在这里 Django: Key (slug)=(*) already exists。
这是我的错误信息:
django.db.utils.IntegrityError:重复的键值违反了唯一约束“caseAT_case_slug_key”详细信息:键(slug)=()已经存在。
在文档中它说: https://docs.djangoproject.com/en/1.8/howto/writing-migrations/#migrations-that-add-unique-fields 应用“普通”迁移,添加一个唯一的不可为空的字段到具有现有行的表将引发错误,因为用于填充现有行的值仅生成一次,从而打破了唯一约束。
但这不是迁移。这是一个 djangoitem 管道。该模型具有从标题自动创建的 slug。因此,我没有将 slug 放入管道中。如果它期望创建 slug 并且因为它已经存在而犹豫不决,为什么它不期望创建所有其他密钥?如果它不在管道中,为什么它现在要创建它?因为它期望创造它?所以我应该删除该字段上的自动创建?那么它是如何创建的呢?我确实希望我的蛞蝓是独一无二的。
对我来说,这似乎是循环和疯狂的,但这有什么区别呢?没有任何。感谢您的帮助。