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

时间:2014-12-25 14:03:02

标签: python django list python-3.x django-models

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

friends = Friend.objects.friends(user1)

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

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

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

1 个答案:

答案 0 :(得分:14)

如果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]