【问题标题】:Django get objects for many IDsDjango 获取多个 ID 的对象
【发布时间】:2014-05-30 12:53:21
【问题描述】:

我有一组 ID,我想检索其所有对象。我当前的解决方案有效,但是它在循环中使用一堆get 查询来锤击数据库。

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

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

【问题讨论】:

    标签: python django django-queryset


    【解决方案1】:

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

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

    对于许多不同的字段类型(例如 CharFields)都一样,而不仅仅是 id 字段。

    【讨论】:

    • 如果除了弹出代码之外你不能提供任何其他信息,至少格式化它。因为没有人可以编辑它。
    • 这正是我想要的,谢谢!我会在几分钟后接受这个答案。
    猜你喜欢
    • 2017-12-28
    • 1970-01-01
    • 2013-05-21
    • 2012-05-20
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 2022-01-17
    相关资源
    最近更新 更多