我的查询集为providers
:
>>> provider_qs = Provider.objects.filter(...)
[<Provider: Gin Investors>, <Provider: IND INVESTORS>]
获取这些提供商的所有财务报表的查询是什么?像 -
这样的东西>> fs = FinancialStatement.objects.filter(provider__in provider_qs)
答案 0 :(得分:2)
是的,您可以这样做:
fs = FinancialStatement.objects.filter(provider__in=provider_qs)
Django将此优化为一个SQL查询。在Django QuerySet documentation中有一个确切的例子:
inner_qs = Blog.objects.filter(name__contains='Cheddar')
entries = Entry.objects.filter(blog__in=inner_qs)
答案 1 :(得分:0)
您可以在一行中执行此操作:
fs = FinancialStatement.objects.filter(provider__whatever__more='asd')
或使用 Mitar 的答案:
entries = Entry.objects.filter(blog__name__contains='Cheddar')
您应该在Django querysets上阅读更多内容。