Используя ORM SQLAlchemy, я хочу, чтобы значения были правильного типа для их столбцов.
Например, скажем, у меня есть столбец Integer. Я пытаюсь вставить значение "hello", которое не является допустимым целым числом. SQLAlchemy позволит мне это сделать. Только позже, когда я выполняю session.commit()
, возникает ли это исключение: sqlalchemy.exc.DataError: (DataError) invalid input syntax integer: "hello"…
.
Я добавляю партии записей, и я не хочу фиксировать их после каждого add(…)
по соображениям производительности.
Итак, как я могу:
- Поднимите исключение, как только я сделаю
session.add(…)
- Или, убедитесь, что значение, которое я вставляю, можно преобразовать в целевой тип столбца столбца, прежде чем добавлять его в пакет?
- Или любой другой способ предотвратить повреждение одной плохой записи всего
commit()
.