python-SQLAlchemy-通过用户名加载用户
作者:互联网
只是在这里进入塔架,并试图让我了解SQLALchemy的基础知识.我想通了如何通过id加载记录:
user_q = session.query(model.User)
user = user_q.get(user_id)
但是如何查询特定字段(即用户名)?我认为有一种快速的方法可以对模型进行操作,而不是手工构建查询.我认为查询对象上的add_column()函数具有某些功能,但我不太清楚如何使用它.我一直在尝试这样的事情,但是显然它不起作用:
user_q = meta.Session.query(model.User).add_column('username'=user_name)
user = user_q.get()
解决方法:
我相信您想要这样的东西:
user = meta.Session.query(model.User).filter_by(name=user_name).first()
这是简短的:
user = meta.Session.query(model.User).filter(model.User.name=user_name).first()
如果将first()更改为one(),如果没有用户(如果您想断言一个用户存在),它将引发异常.
我强烈建议您同时阅读Object Relational Tutorial和和SQL Expression Language Tutorial.
标签:pylons,sqlalchemy,python 来源: https://codeday.me/bug/20191208/2094301.html