我有 3 个表Continent
:Country
和Story
。
Country
有ForeignKey(Continent)
和Story
有ManyToManyField(Country, blank=True)
领域。
我需要的是获得至少有一个故事属于它的国家列表,我需要这些国家按大洲分组。
我怎样才能做到这一点?
一种方法是:
countries = {}
country_list = Country.objects.all()
for c in country_list:
# check the stories that has the country
stories = Story.objects.filter(country_set__name__exact=c.name)
# only if the country have stories
if stories.count() > 0:
## check for initialize list
if not countries.has_key(c.continent.name):
countries[c.continent.name] = []
## finally we add the country
countries[c.continent.name].append(c)
这将完成工作。
再见