Flask_SQLAlchemy 查询到的model.User 怎么获取对象

查询到的结果是一个model.user类型,不是一个简单的dict,那么怎么样才能想对象那样使用呢?

user = User.query.filter(User.username == username, User.password == password).first()
阅读 2.9k
3 个回答

如果你是想用 user["property"] 这样的做法的话,可以用内省去把一个对象变成 dict,而且一般来说对象会更方便毕竟可以有智能提示以及约束(python中 dict 直接用键获取值的话,键不存在会报错的 :)),除非是习惯了 JS 那种写法

def to_dict(model):
    return {c.name: getattr(model, c.name) for c in model.__table__.columns}
    
user = User.query.filter(User.username == username, User.password == password).first()
user_dict = to_dict(user)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题