有没有更简洁的方法来获取user.email?

时间:2017-11-30 03:22:44

标签: python

从一组我可以得到它的用户,并使用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中的用户是一个对象。

1 个答案:

答案 0 :(得分:0)

首先,根据对象类型,user["email"]user.email不同。如果正确访问对象,地图可能会正常工作

但是,您缺少列表推导

emails = [user.email for user in group.user_set.all()]