Pythonic. Мне нравится делать это с:
query = session.query(Model).filter( ... )
try:
model = query.one()
except NoResultFound:
# it does not exist!
except MultipleResultsFound:
# there are more than one matching the filter criteria!
Это позволяет, скажем, создавать новую модель, когда она не существует, и предупреждать пользователя, если существует несколько (выберите первую).один и т. д.).