Skip to main content
 首页 » 编程设计

python之Django group by 查找计数

2024年10月25日30softidea

我有下面给出的模型。

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) 

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

{国家 1:3,国家 2:4}

(特定国家/地区的页数)

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

请您参考如下方法:

你可以用计数来注释:

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

有plenty of details and examples在聚合 API 文档中对此进行了说明。