python – Django获取许多ID的对象

我有一组ID,我想要检索所有对象.我目前的解决方案是有效的,但是它会在循环中使用一堆get查询来破坏数据库.

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

有没有更有效的方法来解决这个问题?

最佳答案 有一个__in(
documentation here)字段查找,您可以使用它来获取某个字段与值列表中的一个匹配的所有对象

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

适用于许多不同的字段类型(例如CharFields),而不仅仅是id字段.

点赞