Multiple assignment operation returns object is not iterable
本问题已经有最佳答案,请猛点这里访问。
我不知道这意味着什么:
登录方法如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 | def login(email, password): try: user = db.session.query(Admin).filter_by(email=email).first() valid_role = 'Admin' if valid_role in user.role: return user except Exception as e: print e return None |
它返回typeerror:'admin'对象不可iterable或valueerror:当我只返回
你的函数时返回一个对象;either安
1 2 | if valid_role in user.role: return user |
1 | return None |
这不是适合的期望中的函数时返回两个值,这是什么,这expects在线: </P >
1 | (success, admin_id) = login(email, password) |
either在线调整,对接收到的用户只读,或修理你的函数返回的用户ID和成功的标志。 </P >
"那么,你latter require Rewrite你的函数: </P >
1 2 3 4 5 6 7 8 9 10 11 12 | def login(email, password): try: user = db.session.query(Admin).filter_by(email=email).first() valid_role = 'Admin' if valid_role in user.role: return True, user.id except Exception as e: print e return False, None |
现在你的函数总是时返回两个项目,either
返回多个值(
1 2 | # when user is admin return True, user.id |
在案例中的用户是管理员或有不安是一个例外: </P >
1 | return False, None |
SO与