【发布时间】:2019-11-18 03:32:14
【问题描述】:
- 我可以像这样在 django 过滤器中跨越模型关系:
my_asset__business_unit=user.business_unit.id
- 如果最后一项返回多个值,我可以使用
__in和all()
my_asset__business_unit__in=user.business_units.all()
但是我如何跨越一个中间模型返回多个值?我想找到与这些值匹配的所有下游模型。
我试过了
my_asset__business_unit__in=user.businessunitmemberships.businessunit_set.all()
但是businessunitmemberships 是一个'RelatedManager' 对象,没有'businessunit_set' 属性。
我也试过
my_asset__business_unit__in=user.businessunitmemberships.all().businessunit_set.all()
但是中间 .all() 返回一个查询集对象,它又没有属性 businessunit_set
我也试过
my_asset__business_unit__in=user.businessunitmemberships.get().businessunit_set.all()
但这也不起作用,因为.get() 将返回 3 个结果而不是 1 个。
编辑:描述了整个模型 here 但我认为这使问题过于复杂。
【问题讨论】: