【发布时间】:2014-05-30 12:53:21
【问题描述】:
我有一组 ID,我想检索其所有对象。我当前的解决方案有效,但是它在循环中使用一堆get 查询来锤击数据库。
objects = [SomeModel.objects.get(id=id_) for id_ in id_set]
有没有更有效的方法来解决这个问题?
【问题讨论】:
标签: python django django-queryset
我有一组 ID,我想检索其所有对象。我当前的解决方案有效,但是它在循环中使用一堆get 查询来锤击数据库。
objects = [SomeModel.objects.get(id=id_) for id_ in id_set]
有没有更有效的方法来解决这个问题?
【问题讨论】:
标签: python django django-queryset
有一个 __in (documentation here) 字段查找,您可以使用它来获取某个字段与值列表之一匹配的所有对象
objects = SomeModel.objects.filter(id__in=id_set)
对于许多不同的字段类型(例如 CharFields)都一样,而不仅仅是 id 字段。
【讨论】: