我有一个 User
模型,用户可以使用相同的名称。我想获取所有具有给定名称的用户的电子邮件地址。但是,我必须对查询结果执行 result[0].email
以获取一行的电子邮件。我可以用 for 循环来做到这一点,但是有没有办法只获取一个字段的列表而不必每次都这样做?
my_result = db.session.query(my_table).filter_by(name=name)
emails = []
for r in my_result:
emails.append(r.email)
原文由 Pav Sidhu 发布,翻译遵循 CC BY-SA 4.0 许可协议
不,实际上没有办法解决 SQLAlchemy 查询返回字典列表的事实。如果您想要一组特定的字段,您可以只查询这些字段,但如果您想要 一个 字段的列表,则必须从结果中提取它。以下示例获取具有给定名称的每个用户的唯一电子邮件列表。