如果我有一些查询获取的对象列表(在这种情况下是Django模型)。
friends = Friend.objects.friends(user1)
如何获取ID列表,以便我可以使用它来搜索其他模型,如下所示:
items = Item.objects.get(pk__in=friends_ids).order_by('date')
我很确定lambda表达式应该能够做到,但我无法弄清楚......
答案 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]