「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」が実際にはインデックスであることがわかりました。それで、どのインデックスをリセットするか混乱していますか?助けてください。ありがとう。