我試圖弄清楚如何確定我的 sqlalchemy 過濾器調(diào)用是否找到了某些東西,以了解我是否應(yīng)該迭代結(jié)果。我能弄清楚如何做到這一點的唯一另一種方法是先調(diào)用:ld = ld=LunchDay.query.filter(and_(func.DATE(LunchDay.timestamp == datetime.date.today()), LunchDay.status==1)).first()那么如果 ld 是 None 什么也沒有找到。但如果是這種情況,我無法遍歷所有找到的內(nèi)容,因此我必須再次調(diào)用: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但是當我知道沒有返回任何內(nèi)容時,它似乎永遠不會出錯?我的邏輯完全混亂了嗎?“雙重檢查”是首選方式嗎?還是我沒有使用異常?
添加回答
舉報
0/150
提交
取消