我有以下模型結構國家,城市(fk =國家)和學校(fk =城市)。現在我想獲得有城市的國家名單,如果城市有學校的話。在我的模板中,我想要做Django查詢3表
for country in countrylist
for city in getcitieswithschool
我可以通過一個查詢獲得結果集嗎?
我有以下模型結構國家,城市(fk =國家)和學校(fk =城市)。現在我想獲得有城市的國家名單,如果城市有學校的話。在我的模板中,我想要做Django查詢3表
for country in countrylist
for city in getcitieswithschool
我可以通過一個查詢獲得結果集嗎?
獲取城市
City.objects.filter(school__isnull=False).distinct().select_related('country')
然後{% regroup %}他們通過country
這將是清潔和高效。
你可以讓他們使用該查詢
from django.db.models import Count
countrylist = Country.objects.all()\
.annotate(cities_cnt=Count('city'), schools_cnt=Count('city__school'))\
.filter(cities_cnt__gt=0, schools_cnt__gt=0)
謝謝,但@DrTyrsa答案爲我工作 – John 2012-01-11 10:27:35
非常感謝!太棒了!從來不知道重組 – John 2012-01-11 10:26:22