django - 嵌套外键关系中的 Sum 和 Count?

标签 django django-models django-rest-framework

我有以下型号:

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/

相关文章:

python - Django:无法在模板中渲染上传的图像

python - django 如何通过用户状态更改 __str__ 标签?

Django:使用整数设置外键?

django - 使用 django-tables2 时是否可以将模板标签应用于 <td>?

Django Rest框架使用泛型查看组织

python - 将 python (django) 数据序列化为 javascript

django - 最新的 Django-1.7 版本的 "App-loading refactor"功能有什么好处?

django - POST 请求时出现 DRF "field is required"错误?

python - 修改序列化值 - Django Rest Framework

python - 如何从 Django 中的查询集中删除前 N 项