Как я могу проверить типы данных столбца в SQLAlchemy ORM?

Используя SQLAlchemy ORM, я хочу убедиться, что значения соответствуют типу столбцов.

Например, у меня есть целочисленный столбец. Я пытаюсь вставить значение «привет», которое не является действительным целым числом. SQLAlchemy позволит мне это сделать. Только позже, когда я выполняю session.commit () , возникает исключение: sqlalchemy.exc.DataError: (DataError) недопустимое целое число синтаксиса ввода: «привет»… .

Я добавляю пакеты записей и не хочу фиксировать после каждого add (…) по соображениям производительности.

Итак, как я могу:

  • Вызвать исключение, как только я сделаю session.add (…)
  • Или убедитесь, что значение, которое я вставляю, можно преобразовать в целевой тип данных Column, перед добавлением его в пакет?
  • Или любой другой способ предотвратить порчу одной плохой записью всего commit () .
20
задан Nate 24 January 2012 в 00:46
поделиться