Django组通过查找计数

时间:2015-04-20 05:47:28

标签: python django

我的模型如下所示。

class Page(models.Model):
    name = models.CharField(max_length=150)
    city = models.CharField(max_length=50)
    country = models.ForeignKey(Country)

class Country(models.Model):
    name = models.CharField(max_length=150)

我需要的只是获取每个国家/地区的页数。即,

{country1:3,country2:4}

(国家/地区特定页数)

是否可以根据所示的国家/地区外键获取页数?

1 个答案:

答案 0 :(得分:2)

您可以使用计数进行注释:

pages = Page.objects.annotate(num_countries=Count('country'))
pages[0].num_countries  # 3
pages[1].num_countries  # 4

汇总API文档中有plenty of details and examples