python - Django 获取多个 ID 的对象

标签 python django django-queryset

我有一组 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 字段。

关于python - Django 获取多个 ID 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096077/

相关文章:

python - 合并备用索引组合处的 n 元组列表

django - 当一个对象可以属于其他几个对象时,外键属于哪里?

python - django 模型表单自定义字段

Django查询集排除值

Django 通过单个查询对注释百分比进行分组

python - python 3.x 的 GUI 选项

python - 将正则表达式添加到 yaml python

python - 如何使 QGridLayout() 在水平和垂直方向上都可调整大小?

python - 更新 django 项目、跟踪更新的最佳方法

python - 如何在 django 查询过滤器中进行类型转换?