从一组我可以得到它的用户,并使用for-loop我可以得到user.emal:
group = Group.objects.get(name=to_group_name)
users_qs = group.user_set.all()
to_emal_list = []
for user in users_qs:
to_emal_list.append(user.email)
但是,在python中有更简洁的方法来获取电子邮件吗?我的意思是,如果我可以使用一行代码来做到这一点。类似lambda
列表方法的地图。
我尝试过使用:
user_list = list(users_qs)
to_email_list = map(lambda user: user["email"], user_list)
但是你知道这会失败,user_list中的用户是一个对象。
答案 0 :(得分:0)
首先,根据对象类型,user["email"]
与user.email
不同。如果正确访问对象,地图可能会正常工作
但是,您缺少列表推导
emails = [user.email for user in group.user_set.all()]