В django исключение IntegrityError может быть вызвано множеством причин.
Иногда эта ошибка означает уникальный конфликт.Иногда это может быть вызвано проверкой внешнего ключа.
В настоящее время мы можем узнать основную причину только путем преобразования исключения в текст:
(1062, "Duplicate entry '79d3dd88917a11e98d42f000ac192cee-not_created' for key 'fs_cluster_id_dir_e8164dce_uniq'")
Но это очень недружелюбно для идентификации программы.Есть ли какой-нибудь способ для кода определить основную причину исключения?
Например, если я знаю, что это вызвано уникальным конфликтом, я могу сказать клиенту, что это вызвано, потому что некоторые ресурсы уже существуют.Если я знаю, что это вызвано тем, что внешний ключ не существует, я могу сказать клиенту, что это вызвано тем, что родительский ресурс не создан.
Так может ли какой-нибудь хороший способ определить причину по коду?