170 похожих чатов

Еще раз вернусь сюда. https://t.me/ru_python/1604473 sqlalchemy.exc.IntegrityError: (sqlalchemy.dialects.postgresql.asyncpg.IntegrityError) <class 'asyncpg.exceptions.UniqueViolationError'>: duplicate key value

violates unique constraint "roles_users_user_id_project_id_key"
DETAIL: Key (user_id, project_id)=(a33936e6-0c8b-4b6f-9a69-9a71f5a7a30b, 53) already exists.
[SQL: INSERT INTO roles_users (user_id, role_id, project_id) VALUES (%s, %s, %s) RETURNING roles_users.id]
[parameters: ('a33936e6-0c8b-4b6f-9a69-9a71f5a7a30b', 5, 53)]

Как по человечески забрать описание ошибки?
>>> DETAIL: Key (user_id, project_id)=(a33936e6-0c8b-4b6f-9a69-9a71f5a7a30b, 53) already exists.

Драйвер склеивает все в строку и как таковых аргументов и параметров в экзепшна нету.

5 ответов

17 просмотров

exc.orig.detail Возможно, что до исключения от asyncpg придется как-то дольше добираться

Vadim- Автор вопроса
Pavel Павлик
exc.orig.detail Возможно, что до исключения от as...

не все так просто… AttributeError: 'IntegrityError' object has no attribute 'detail'

Vadim- Автор вопроса
Pavel Павлик
Это какая IntegrityError?

from sqlalchemy.exc import IntegrityError except IntegrityError as exc: foo = str(exc.orig.detail) print(foo)

Vadim
from sqlalchemy.exc import IntegrityError except ...

Ну, это IntegrityError от обертки, которую sqlalchemy делает. От нее нужно дойти до исключения, которые драйвер выкидывает

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта