SQLite中如何修改fetchone返回结果以仅获取目标字段纯值
解决方案
你当前执行fetchone()获取到的是字段名为键、查询结果为值的字典对象,直接赋值会把完整字典存入session,只需提取userName对应的值即可。
调整后的代码
cur.execute("SELECT userName FROM socialmedia WHERE email=%s", [email]) user1 = cur.fetchone() # 提取userName字段值,同时兼容查不到数据的场景 session['userName'] = user1['userName'] if user1 else None return session['userName']
补充说明
- 如果你的SQLite游标没有配置返回字典格式,
fetchone()会返回元组,这种情况可以用下标取值:session['userName'] = user1[0] if user1 else None - 增加非空判断可以避免查询结果为空时抛出索引/键不存在的异常,提升代码健壮性
内容的提问来源于stack exchange,提问作者John Chong
相关产品推荐
相关产品推荐

