当我尝试将新条目保存到名为“config”的表中时,我遇到了这个问题,
class Config(models.Model):
ident = models.CharField(max_length=uuidLength, null=True, editable=False)
scanner = models.ForeignKey('Scanner')
name = models.CharField(max_length=64)
''' some other fields '''
而 postgres 给出了这样的错误(应用程序被称为“pegasus”,所以 django 给出的表名实际上是“pegasus_config”):
IntegrityError: duplicate key value violates unique constraint "pegasus_config_scanner_id_name_key"
DETAIL: Key (scanner_id, name)=(2, ) already exists.
我在stackoverflow中搜索并找到了这个解决方案,问题是我不知道我应该重置哪个表的索引。我根据答案做了以下操作:
SELECT setval('pegasus_config_id_seq', (SELECT MAX(id) FROM pegasus_config)+1)
但问题仍然存在。我还进入了数据库,发现“pegasus_config_scanner_id_name_key”实际上是一个索引。所以我对重置哪个索引感到困惑?请帮忙。谢谢。