只是在这里深入研究 Pylons ,我正在努力了解 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 .
关于python - SQLAlchemy - 按用户名加载用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4703522/