Django获取多个ID的对象

13

我有一组ID,希望检索出所有相关对象。我的当前解决方案是可行的,但它会在循环中使用大量get查询来不断访问数据库。

objects = [SomeModel.objects.get(id=id_) for id_ in id_set]

有没有更有效率的方法来处理这件事?

1个回答

27

有一个 __in (文档在这里) 字段查询,你可以使用它来获取所有匹配值列表中任意一个值的对象。

objects = SomeModel.objects.filter(id__in=id_set)

这个方法对很多不同类型的字段都能起作用,比如CharFields,而不仅仅是id字段。


1
如果你除了把代码放进去之外没有提供任何其他信息,那么请至少格式化它。因为没人能够编辑它。 - Idris
这正是我在寻找的,谢谢!我会在几分钟内接受这个答案。 - rectangletangle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接