Чтобы избежать дублирования записей в базе данных, рекомендуется использовать функцию индексации самой базы данных и позволить ей автоматически решать проблему.
Я настроил правильныйиндексы с миграцией peewee
migrator.add_index('mymodel', ('column1', 'column2', 'column3'), True),
, поэтому теперь, если я пытаюсь сохранить запись mymodel
с уже существующими значениями column1
, column2
и column3
, я правильно получаю исключение прия.
Исключение выглядит следующим образом:
IntegrityError: UNIQUE constraint failed: mymodel.column1, mymodel.column2, mymodel.column3
Мой вопрос: IntegrityError
когда-либо выбрасывается и для других возможных ошибок?Если да, как я могу отличить дубликаты при вставке от других ошибок?
Я хочу отлавливать и обрабатывать дубликаты вставок только , а не другие ошибки.Это возможно?