为了账号安全,请及时绑定邮箱和手机立即绑定

知道 sqlalchemy 过滤器何时找到某些东西

知道 sqlalchemy 过滤器何时找到某些东西

白板的微信 2021-08-17 11:03:28
我试图弄清楚如何确定我的 sqlalchemy 过滤器调用是否找到了某些东西,以了解我是否应该迭代结果。我能弄清楚如何做到这一点的唯一另一种方法是先调用:ld = ld=LunchDay.query.filter(and_(func.DATE(LunchDay.timestamp == datetime.date.today()), LunchDay.status==1)).first()那么如果 ld 是 None 什么也没有找到。但如果是这种情况,我无法遍历所有找到的内容,因此我必须再次调用:ld = ld=LunchDay.query.filter(and_(func.DATE(LunchDay.timestamp == datetime.date.today()), LunchDay.status==1))我认为必须有更好的方法,我认为如果没有找到任何东西,过滤器会抛出异常,所以我确实尝试了这个(在 shell 中):try:    ld=LunchDay.query.filter(and_(func.DATE(LunchDay.timestamp == datetime.date.today()), LunchDay.status==1))    #do stuff with resultsexcept sqlalchemy.orm.exc.NoResultFound:    #SHOW THE ERROR但是当我知道没有返回任何内容时,它似乎永远不会出错?我的逻辑完全混乱了吗?“双重检查”是首选方式吗?还是我没有使用异常?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 149 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号