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

2024-04-17

如果我有一个通过某些查询获取的对象列表(在本例中为 Django 模型)。

friends = Friend.objects.friends(user1)

如何获取 id 列表,以便我可以使用它来搜索另一个模型,如下所示:

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

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


如果返回值是friends方法是一个QuerySet https://docs.djangoproject.com/en/3.1/ref/models/querysets/#django.db.models.query.QuerySet对象,您可以使用QuerySet.values_list https://docs.djangoproject.com/en/3.1/ref/models/querysets/#values-list method:

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

如果它不是一个QuerySet对象,您可以使用列表理解 https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions(这个可以同时用于QuerySet和非查询集一):

friends_ids = [friend.id for friend in friends]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django/python 如何从对象列表中获取 id 列表 的相关文章

随机推荐