使用
query.one()得到之一,正是一个结果。在所有其他情况下,它将引发你可以处理的异常:
from sqlalchemy.orm.exc import NoResultFoundfrom sqlalchemy.orm.exc import MultipleResultsFoundtry: user = session.query(User).one()except MultipleResultsFound, e: print e # Deal with itexcept NoResultFound, e: print e # Deal with that as well
还有
query.first(),它将为你提供可能的第一个结果,而不会引发这些异常。但是,由于你要处理没有结果或超出你的想象的情况,
query.one()因此正是你应该使用的方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)