如何在 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")
我的 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")