2012-01-25 49 views
0

我有providers一个QuerySet:Django的查询

>>> provider_qs = Provider.objects.filter(...) 
[<Provider: Gin Investors>, <Provider: IND INVESTORS>] 

什么是查询,以获得这些供应商的所有财务报表?类似 -

>> fs = FinancialStatement.objects.filter(provider__in provider_qs) 

回答

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) 
0

您可以在一行做到这一点:

fs = FinancialStatement.objects.filter(provider__whatever__more='asd') 

或使用例如由米塔尔的回答是:

entries = Entry.objects.filter(blog__name__contains='Cheddar') 

你应该更多地阅读Django querysets