Не удается заставить код Python перехватывать ошибки psycopg2 и Django
Я не могу заставить свой код поймать эти исключения:
import psycopg2
from psycopg2 import IntegrityError, errors
from django.db.utils import IntegrityError as ie
...
try:
parent = Code.objects.get(arrow=parrow)
except (Code.DoesNotExist, psycopg2.errors.ForeignKeyViolation, IntegrityError, ie):
logging.warning(f"Parent '{parrow}' of {child} not yet in database.")
waitroom.append((parrow, child))
...
psycopg2.errors.ForeignKeyViolation: insert or update on table "codeAT_code" violates foreign key constraint "codeAT_code_childof_id_78f76bc4_fk_codeAT_code_uniqid"
DETAIL: Key (childof_id)=(c74d8ad6-f23e-4b63-860f-e80f54b7c4cc) is not present in table "codeAT_code".
The above exception was the direct cause of the following exception:
django.db.utils.IntegrityError: insert or update on table "codeAT_code" violates foreign key constraint "codeAT_code_childof_id_78f76bc4_fk_codeAT_code_uniqid"
DETAIL: Key (childof_id)=(c74d8ad6-f23e-4b63-860f-e80f54b7c4cc) is not present in table "codeAT_code"
...
Помимо того, что ничего не поймано, PyCharm не распознает ForeignKeyViolation psycopg2, говоря, что это неразрешенная ссылка. Я пытался объяснить это разными способами. Пожалуйста, посоветуйте. Спасибо.