如果我有一些查询获取的对象列表(在这种情况下是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]