Django 模型数 children 和 grand children
Django models count children and grand children
在 Django 模型中,我需要帮助选择 children 的计数和 grand children 的计数。
我的模特:
Parent:
Child:
parent = models.Foreignkey(Parent)
GrandChild:
child = models.Foreignkey(Child)
我做到了
Parent.objects.annotate(num_child =Count('child’), num_grandchild=Count('child__grandchild'))
有了这个,我得到 num_child 与 num_grandchild
的值完全相同
你能帮忙吗
我认为您必须在 Count() 上设置 distinct
q = Parent.objects.annotate(num_child=Count('child', distinct=True), num_grand_child=Count('child__grandchild', distinct=True))
https://docs.djangoproject.com/en/2.2/topics/db/aggregation/#combining-multiple-aggregations
在 Django 模型中,我需要帮助选择 children 的计数和 grand children 的计数。 我的模特:
Parent:
Child:
parent = models.Foreignkey(Parent)
GrandChild:
child = models.Foreignkey(Child)
我做到了
Parent.objects.annotate(num_child =Count('child’), num_grandchild=Count('child__grandchild'))
有了这个,我得到 num_child 与 num_grandchild
的值完全相同你能帮忙吗
我认为您必须在 Count() 上设置 distinct
q = Parent.objects.annotate(num_child=Count('child', distinct=True), num_grand_child=Count('child__grandchild', distinct=True))
https://docs.djangoproject.com/en/2.2/topics/db/aggregation/#combining-multiple-aggregations