我正在寻找一种方法,可以从SQLAlchemy中获取PostgreSQL异常的错误代码。是否有这样的方法?谢谢。
可以的。它可以在orig.pgcode
成员中找到。
例如:
import sqlalchemy as sa
try:
exec_database_script(...)
except sa.exc.IntegrityError as e:
pgcode = int(e.orig.pgcode)
if pgcode == 23514:
print("Check constraint violation!")