【问题标题】:Django ORM: filter by a list of objectsDjango ORM:按对象列表过滤
【发布时间】:2010-11-04 22:39:20
【问题描述】:

我有以下代码将我的所有用户从多选字段放入列表中

USERS = []
for user in User.objects.filter(groups__name='accountexec'):
    USERS.append((user.id,user))

我需要使用 Log.objects.filter() 将所有带有 user= 的日志发送给 USERS 列表中的用户

【问题讨论】:

    标签: django orm filter


    【解决方案1】:

    使用__in 查找:

    Log.objects.filter(user__in=User.objects.filter(groups__name='accountexec'))
    

    【讨论】:

    • 其实就是“Log.objects.filter(user__in=User.objects.filter(groups__name='accountexec'))”。 Django 会将其变成单个查询 + 子查询。
    • 冒昧根据詹姆斯的建议改进了建议的查询,希望没问题。
    猜你喜欢
    • 2017-07-02
    • 2018-11-18
    • 2014-08-22
    • 2021-07-09
    • 2017-08-05
    • 2011-01-10
    • 2020-10-23
    • 1970-01-01
    相关资源
    最近更新 更多