TypeError: 'User' object is not subscriptable while trying to create specific list

TypeError: 'User' object is not subscriptable while trying to create specific list

我试图查询一些数据,它 returns 是一个对象列表。 尝试提取电子邮件并创建列表但遇到类型错误。 想知道这样做的正确方法是什么,目前我的方法不起作用。

假设:

emails=User.query.filter_by(approver=True).all()

Returns:

[用户('superuser','hoosk1@gmail.com','0bf35e27606e7418.jpg'), 用户('approver','approve@test.com','c33f6a6bc4e350b0.jpg'),用户('approver2','approver2@gmail.com','defualt.jpg'),用户('approver3','approver3@gmail.com','defualt.jpg'),用户('chrishoosk', 'chrishoosk@gmail.com','default.jpg')]

我正在尝试获取电子邮件并创建了一个列表。

正在尝试

to_send=[邮件中的邮件]

Returns: 类型错误:'User' 对象不可订阅

看来错误将从这里开始

to_send=[mail for mail in emails]

您将希望在您正在迭代的对象上访问 属性

to_send=[user.mail for user in emails]

这将为您提供电子邮件地址列表,而不是 User 对象列表(假设 mailUser 对象的有效 属性)。