2012-01-25 32 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