python - SQLAlchemy - 按用户名加载用户

标签 python sqlalchemy pylons

只是在这里深入研究 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()

Here's more documentation

如果将 first() 更改为 one() 如果没有用户(如果您想断言存在一个用户),它将引发异常。

我强烈建议通读 Object Relational Tutorial以及 SQL Expression Language Tutorial .

关于python - SQLAlchemy - 按用户名加载用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4703522/

相关文章:

python - 如何将文件 key 传递给在 S3 Put 上触发的 AWS-ECS 容器?

python - 在 SELECT 查询之后使 SQLAlchemy COMMIT 而不是 ROLLBACK

python - Pylons route 的尾部斜杠

python - 当我在 Windows Vista 命令提示符下运行 'import pylons' 时,为什么无法识别 Pylons?

python - 如何获取 "paster request"使用配置主机值而不是本地主机?

python - Pandas :将行数据 reshape 并分组为列数据

python - Tweepy(Twitter API)不返回所有搜索结果

python - 使用 pymssql 连接到 SQL Server 实例

python - 在我的 MapperExtension.create_instance 中,如何按列名称提取单个行数据?

python - 无法定义主键