我有以下型号:
class Building():
class Floor():
building = models.ForeignKey("Building")
class Suite():
floor = models.ForeignKey("Floor")
area = models.FloatField()
available = models.BooleanField()
在建筑物的序列化器中,在整个建筑物中,我想
- 计算“可用”套房
- 对“可用”套房“区域”字段进行求和
我很确定我可以像这样对套房列表的面积进行求和:
models.Suite.objects.filter(Q(available=True)).aggregate(Sum('area'))
我不知道如何嵌套它以便我可以查询整个建筑物的数据...
最佳答案
我认为你可以做到这些:
要计算建筑物中的可用套房:
Suite.objects.filter(floor__building=building, available=True).count()
对可用套房面积求和:
Suite.objects.filter(floor__building=building, available=True).aggregate(Sum('area'))
希望对你有帮助!
关于django - 嵌套外键关系中的 Sum 和 Count?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45742333/