如何在 Django 中计算两个外键之外的模型

How to get count in Django for a model two foreign keys away

我的 Django 应用程序中有三个痣,如下所示:

class City(models.Model):
    city_name = models.CharField(length=50)

class Area(models.Model):
    city = models.ForeignKey(City)
    area_name = models.CharField(length=50)

class Person(models.Model):
    area = models.ForeignKey(Area)
    person_name = models.CharField(length=50)

我需要按人口顺序排列的城市(即以人为单位)。 Django 怎么可能?

使用annotate统计人口。

City.objects.annotate(population=Count("area_set___person_set")).order_by("population")