0

ContinentCountryおよびの3 つのテーブルがありStoryます。

CountryhasForeignKey(Continent)およびStoryhasManyToManyField(Country, blank=True)フィールド。

私が必要としているのは、少なくとも 1 つのストーリーが属する国のリストを取得することです。これらの国を大陸別にグループ化する必要があります。

どうすればそれを達成できますか?

4

1 に答える 1

1

それを行う1つの方法は次のとおりです。

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)

それは仕事をするでしょう。

さよなら

于 2013-05-09T22:49:30.313 に答える