gpt4 book ai didi

python - 使用 Django ORM 查询如何注释是否存在多个级别的外键层次结构

转载 作者:太空宇宙 更新时间:2023-11-03 16:22:47 25 4
gpt4 key购买 nike

我的 Django 模型看起来像

class Parent(models.Model):
name = models.CharField(('name'), max_length=30)

class Child(models.Model):
parent = models.ForeignKey(Parent)
name = models.CharField(('name'), max_length=30)

class GrandChild(models.Model):
child = models.ForeignKey(Child)
name = models.CharField(('name'), max_length=30)

-> To Get Number of Childs for parent following query does
Parent.objects.annotate(childs=Count('Child')).values('childs')

-> To Get Number of Grand Childs for parent following query does
Parent.objects.annotate(childs=Count('child')).annotate(grandchilds=Count('child__grandchild'))

但是我怎样才能获得每个 parent 的 child 数量和孙 child 数量

最佳答案

尝试使用distinct:

Count('child', distinct=True)

通过链接了解更多详细信息:

https://docs.djangoproject.com/en/1.9/topics/db/aggregation/#combining-multiple-aggregations

关于python - 使用 Django ORM 查询如何注释是否存在多个级别的外键层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38267489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com