主キーまたは一意のキーの競合、別名重複エントリがある場合を処理したいと考えています。このためにIntegrityError
、エラーをうまくキャッチする をキャッチしています。問題は、簡単なエラー メッセージやエラー コードが見つからないことです。私が得ているのは、IntegrityError.message
次のような文字列であるプロパティだけです。
(IntegrityError) (1062、「キー 'name' のエントリ 'foobar' が重複しています」)
それはあまり役に立ちません。これを使用して、エラー メッセージのコードとメッセージの解析を開始する必要があります。例外を呼び出すdir
と、次のプロパティのみが表示されます。
「args」、「connection_invalidated」、「instance」、「message」、「orig」、「params」、「statement」
args
前述の文字列を内部に含む単一項目のタプルであり、params
挿入しようとしたデータです。正規表現などを使用してエラーメッセージの解析を開始することなく、これが実際に重複キーエラーであることを判断する方法を見つけることができないようです.
誰でもこの問題に光を当てることができますか?