Django / python如何从对象列表中获取id的列表

前端之家收集整理的这篇文章主要介绍了Django / python如何从对象列表中获取id的列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

如果我有一些查询获取的对象列表(在这种情况下是Django模型).

friends = Friend.objects.friends(user1)

如何获取ID列表,以便我可以使用它来搜索其他模型,如下所示:

items = Item.objects.get(pk__in=friends_ids).order_by('date')

我很确定lambda表达式应该能够做到但我无法弄清楚…

最佳答案
如果friends方法的返回值是QuerySet对象,则可以使用QuerySet.values_list方法

friends_ids = friends.values_list('id',flat=True)

如果它不是QuerySet对象,则可以使用list comprehension(这个可以用于QuerySet和非QuerySet):

friends_ids = [friend.id for friend in friends]

猜你在找的Python相关文章